一,汉字转成拼音大写首字母
public static String chineseToPinyin(String chinese) {
//创建一个 StringBuilder 对象用于存储转换后的拼音。
StringBuilder pinyin = new StringBuilder();
//创建一个汉语拼音输出格式对象。
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
//设置拼音输出为大写字 ----- 出为小写字HanyuPinyinCaseType.LOWERCASE
format.setCaseType(HanyuPinyinCaseType.UPPERCASE);
//设置拼音输出不带声调。
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
//将输入的汉字字符串转换为字符数组。
char[] chars = chinese.toCharArray();
//遍历字符数组中的每一个字符。
for (char c : chars) {
try {
//获取当前字符的对应汉语拼音数组。
String[] arr = PinyinHelper.toHanyuPinyinStringArray(c, format);
//判断拼音数组是否为空。
if (arr == null || arr.length == 0) {
//若字符无法转换为拼音,则直接将字符添加到拼音字符串中。
pinyin.append(c);
} else {
//遍历每个拼音转换结果
for (String s : arr) {
//将拼音的首字母添加到拼音字符串中。
pinyin.append(s.substring(0,1));
}
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
}
//将 StringBuilder 中的内容转换为字符串并返回。
return pinyin.toString();
}
二,汉字转成拼音大写字母
public static String chineseToPinyin2(String chinese) {
//创建一个 StringBuilder 对象用于存储转换后的拼音。
StringBuilder pinyin = new StringBuilder();
//创建一个汉语拼音输出格式对象。
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
//设置拼音输出为大写字 ----- 出为小写字HanyuPinyinCaseType.LOWERCASE
format.setCaseType(HanyuPinyinCaseType.UPPERCASE);
//设置拼音输出不带声调。
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
//将输入的汉字字符串转换为字符数组。
char[] chars = chinese.toCharArray();
//遍历字符数组中的每一个字符。
for (char c : chars) {
try {
//获取当前字符的对应汉语拼音数组。
String[] arr = PinyinHelper.toHanyuPinyinStringArray(c, format);
//判断拼音数组是否为空。
if (arr == null || arr.length == 0) {
//若字符无法转换为拼音,则直接将字符添加到拼音字符串中。
pinyin.append(c);
} else {
//将拼音字母添加到拼音字符串中。
pinyin.append(arr[0]);
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
}
//将 StringBuilder 中的内容转换为字符串并返回。
return pinyin.toString();
}
执行效果