public class PinYinUtil {
public static String toPinYin(String text) {
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
format.setCaseType(HanyuPinyinCaseType.UPPERCASE);
format.setVCharType(HanyuPinyinVCharType.WITH_V);
StringBuilder sb = new StringBuilder();
char[] chars = text.toCharArray();
for (char aChar : chars) {
if (Character.isWhitespace(aChar)) {
continue;
}
if (aChar >= -128 && aChar <= 127) {
sb.append(aChar);
} else {
String s = null;
try {
s = PinyinHelper.toHanyuPinyinStringArray(aChar, format)[0];
sb.append(s);
} catch (BadHanyuPinyinOutputFormatCombination badHanyuPinyinOutputFormatCombination) {
badHanyuPinyinOutputFormatCombination.printStackTrace();
}
}
}
return sb.toString();
}
}
String text = "特朗普";
String s = PinYinUtil.toPinYin(text);
demo: https://gitee.com/libraryDemo/PinYinDemo.git