第一步:pom.xml文件中引入pinyin4j依赖

com.belerweb

pinyin4j

2.5.0

第二步:新增PinYinUtil工具类

/*

* Copyright (C) 2018 Baidu, Inc. All Rights Reserved.

*/

package test;

import net.sourceforge.pinyin4j.PinyinHelper;

import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;

import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;

import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;

import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;

/**

* 汉字转换为拼音

* @author Red

*/

public class PinYinUtil {

/**

* 测试main方法

* @param args

*/

public static void main(String[] args) {

System.out.println(toFirstChar("汉字转换为拼音").toUpperCase()); //转为首字母大写

System.out.println(toPinyin("汉字转换为拼音"));

}

/**

* 获取字符串拼音的第一个字母

* @param chinese

* @return

*/

public static String toFirstChar(String chinese){

String pinyinStr = "";

char[] newChar = chinese.toCharArray(); //转为单个字符

HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();

defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);

defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);

for (int i = 0; i < newChar.length; i++) {

if (newChar[i] > 128) {

try {

pinyinStr += PinyinHelper.toHanyuPinyinStringArray(newChar[i], defaultFormat)[0].charAt(0);

} catch (BadHanyuPinyinOutputFormatCombination e) {

e.printStackTrace();

}

}else{

pinyinStr += newChar[i];

}

}

return pinyinStr;

}

/**

* 汉字转为拼音

* @param chinese

* @return

*/

public static String toPinyin(String chinese){

String pinyinStr = "";

char[] newChar = chinese.toCharArray();

HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();

defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);

defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);

for (int i = 0; i < newChar.length; i++) {

if (newChar[i] > 128) {

try {

pinyinStr += PinyinHelper.toHanyuPinyinStringArray(newChar[i], defaultFormat)[0];

} catch (BadHanyuPinyinOutputFormatCombination e) {

e.printStackTrace();

}

}else{

pinyinStr += newChar[i];

}

}

return pinyinStr;

}

}

第三步:调用PinYinUtil工具类静态方法实现汉字向拼音的转换

PinYinUtil.toPinyin(vo.getName())

延伸阅读:

https://github.com/belerweb/pinyin4j 在github开源项目中可以找到maven中可以引入的最新版本的配置,如下:

java 获取汉字拼音_java springboot中获取汉字拼音相关推荐

  1. java过滤lsit重复_java 8 中获取List结合中过滤后的重复数据

    //excel文件上传数据 List list = importResult.getList(); if (list.size() >200) { String error = Constant ...

  2. 【学习笔记】springBoot中获取sping管理的bean

    文章目录 一.使用场景 二.springBoot中获取sping管理的bean 2.1 生成工具类SpringContextUtil 2.2 使用工具类SpringContextUtil 2.3 注意 ...

  3. java 普通类request_[Java教程]spring在普通类中获取session和request

    [Java教程]spring在普通类中获取session和request 0 2014-08-12 08:01:13 在使用spring时,经常需要在普通类中获取session,request等对像. ...

  4. java 从一个容器获取对象,Java 如何实现从spring容器中获取注入的bean对象

    Java 如何实现从spring容器中获取注入的bean对象 发布时间:2020-11-03 15:27:37 来源:亿速云 阅读:70 作者:Leah 这期内容当中小编将会给大家带来有关Java 如 ...

  5. java 汉字个数_java语言中如何获取字符串中汉字的个数

    java语言中如何获取字符串中汉字的个数? [实例描述] 字符串中可以包含数字,字母.汉字或者其他字符.使用Character 类的isDigit()方法可以判断字符中的某个字符是否为数字,使用Cha ...

  6. java正则表达式所有字符串_java正则表达式如何获取字符串中所有匹配内容

    java正则表达式如何获取字符串中所有匹配内容以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! java正则表达式如何获取 ...

  7. php获取汉字的长度,php中处理汉字字符串长度:strlen和mb_strlen

    PHP内置的字符串长度函数strlen()无法正确处理中文字符串,它得到的只是字符串所占的字节数.对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是3倍 ...

  8. springboot中获取bean_最新Spring Boot干货总结(超详细,建议收藏)

    前言:本文非常长,建议先mark后看,也许是最后一次写这么长的文章说明:前面有4个小节关于Spring的基础知识 分别是:IOC容器.JavaConfig.事件监听.SpringFactoriesLo ...

  9. Java Hashmap:如何从价值中获取关键?

    如果我的值是"foo" ,并且ftw.containsValue("foo")返回true的HashMap<String> ftw ,如何获得相应的 ...

  10. java 获取webcontent目录_java web项目获取src和WebContent目录下的配置文件

    1.首先上目录结构: 2.部署到tomcat,在servlet中测试,测试代码: package test; import java.io.IOException; import java.io.In ...

最新文章

  1. java十五章_java:第十五章
  2. 潘建伟团队进行人类首次洲际量子通信 都发送了什么
  3. Eclipse中spring boot的安装和创建简单的Web应用
  4. google浏览器javascript没反应_浏览器之导航这件小事
  5. servlet的线程安全性问题
  6. SAP UI5 应用开发教程之二十 - SAP UI5 的表达式绑定用法讲解
  7. 【python学习】——读取csv文件
  8. matlab for循环不覆盖,将输出保存到文本文件而不覆盖和打印矩阵中的N个条目[matlab]...
  9. SQL Server判断对象是否存在 (if exists (select * from sysobjects )
  10. qt 怎么设计个性化的滑块_滑块上走滑块模具结构设计,不一样的结构思维成就你的高薪职业...
  11. 列车运行图的编制原则是什么_我国农村将有序推进村庄规划编制
  12. 对无序的边界点排序(顺时针绘制边界)
  13. pycharm 2018永久破解激活补丁 附安装教程
  14. 2021-07-17 随笔
  15. 国内外神经网络研究现状,神经网络的发展现状
  16. 今日学习在线编程题:小码哥的序列
  17. uniapp vue百度人脸实名认证(V4)接口
  18. C# web references 调用出错 The underlying connection was closed: An unexpected error occurred on a send.
  19. k8s介绍及与docker搭建集群
  20. 开放网络–服务提供商的未来

热门文章

  1. postman文件导入
  2. 百度网盘免费jdk1.8中文chm下载(不要积分点个赞就好)
  3. 利用python做中文词频分析
  4. ASO秘籍:教你如何学会积分墙优化套路
  5. 电脑Tab键有什么用
  6. chronodex怎么用_滴答清单使用全攻略:如何把手帐搬到滴答清单上,提升效率?...
  7. php微信公众号发送邮件,GitHub - DongDavid/notify: 消息发送组件-邮件、微信公众号、企业微信、小程序...
  8. Nature子刊 | 绘制植物叶际菌群互作图谱以建立基因型表型关系
  9. JavaScript用浏览器书签制作插件(爬虫)
  10. uk码对照表_36码(uk码和中国码对照表)