1、首先导入工具包,这里使用pinyin4j,在pom.xml(maven工程)
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.1</version>
</dependency>
2、手写自己的工具类PinYinUtils,返回
public static String toPinYin(String chineseLan) {
String ret = "";
// 将汉字转换为字符数组
char[] charChineseLan = chineseLan.toCharArray();
// 定义输出格式
HanyuPinyinOutputFormat hpFormat = new HanyuPinyinOutputFormat();
// 小写格式输出
hpFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
// 不需要语调输出
hpFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
try {
for (int i = 0; i < charChineseLan.length; i++) {
if(String.valueOf(charChineseLan[i]).matches("[\u4e00-\u9fa5]+")) {
// 如果字符是中文,则将中文转为汉语拼音(获取全拼则去掉红色的代码即可)
ret += PinyinHelper.toHanyuPinyinStringArray(charChineseLan[i], hpFormat)[0].substring(0, 1);
} else {
// 如果字符不是中文,则不转换
ret += charChineseLan[i];
}
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
return ret;
}
3、测试自己的方法
public static void main(String[] args) {
System.out.println(PinYinUtils.toPinYin("曹操"));
}