Java汉字转拼音案例详解

一、引入Maven依赖

<dependency>
	<groupId>com.belerweb</groupId>
	<artifactId>pinyin4j</artifactId>
	<version>2.5.0</version>
</dependency>

二、代码

import com.gyyjy.portal.pojo.cms.sm.SelectTreeVO;
import net.sourceforge.pinyin4j.PinyinHelper;

import java.util.Comparator;

/**
 * @author gmd
 * @description 汉字转拼音
 * @date 2021-08-30
 */
public class Chinese2Pinyin {

	/**
	* @param str 汉字
	* @return 汉字对应的拼音
	*/
    private String toPinYinString(String str) {
        StringBuilder sb = new StringBuilder();
        String[] arr = null;
        for (int i = 0; i < str.length(); i++) {
            arr = PinyinHelper.toHanyuPinyinStringArray(str.charAt(i));
            if (arr != null && arr.length > 0) {
                for (String string : arr) {
                    sb.append(string);
                }
            } else {
                sb.append(str.charAt(i));
            }
        }
        return sb.toString();
    }

	/**
	* 测试
	*/
    public static void main(String[] args) {
        Chinese2Pinyin chinese = new Chinese2Pinyin();
        System.out.println(chinese.toPinYinString("天河人员1"));
        System.out.println(chinese.toPinYinString("天河人员2"));
    }

}

三、测试

到此这篇关于Java汉字转拼音案例详解的文章就介绍到这了,更多相关Java汉子转拼音内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • java面向对象:API(接口)与集合(ArrayList)

    目录 API: 接口概念: API:String.StringBuilder的学习 String.StringBuffer.StringBuilder String: 注意:面试考点 StringBuffer StringBuilder  代码例子: StringBuilder 和 String 相互转化: 特殊方法拓展: ArrayList 集合概述: 总结 API: 接口概念: API(Application Programming Interface),应用程序编程接口,Java API是

  • Java @Async注解导致spring启动失败解决方案详解

    前言 在这篇文章里,最后总结处,我说了会讲讲循环依赖中,其中一个类添加@Async有可能会导致注入失败而抛异常的情况,今天就分析一下. 一.异常表现,抛出内容 1.1循环依赖的两个class 1.CycleService1 @Service public class CycleService1 { @Autowired private CycleService2 cycleService2; @WangAnno @Async public void doThings() { System.out

  • Java Spring-IOC容器与Bean管理之基于注解的方式案例详解

    Spring-IOC容器-Bean管理-基于注解方式 什么是注解? (1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值, 属性名称=属性值-) (2)使用注解,注解作用在类上面,方法上面,属性上面 (3)使用注解目的:简化 xml 配置 Spring 针对 Bean 管理中创建对象提供注解 下面四个注解功能是一样的,都可以用来创建 bean 实例 (1)@Component (2)@Service (3)@Controller (4)@Repository 基于注解方式实现对象创建 ①

  • 基于java ssm springboot+mybatis酒庄内部管理系统设计和实现

    目录 咱们废话不多说进入主题.系统主页展示: 用户信息管理; 角色权限控制管理: 管理员查看灵活配置; 插入一小部分代码段 通知公告信息管理 总结 咱们废话不多说进入主题.系统主页展示: 用户登录后进行系统首页:主要功能模块如下.分角色管理.超级管理员拥有最高权限.可以进行菜单灵活控制. 用户信息管理; 角色权限控制管理: 管理员查看灵活配置; 插入一小部分代码段 /** * . * * * * */ package io.renren.modules.sys.controller; impor

  • 解决mybatis-plus自动配置的mapper.xml与java接口映射问题

    目录 mybatis-plus自动配置mapper.xml与java接口映射 其中核心功能就是下面这个方法 mybatis-plus3 配置mapper和xml映射关系 原因就是mapper接口与xml映射文件没有配置成功 mybatis-plus自动配置mapper.xml与java接口映射 本来没有mybatis-plus的话,这个工作是通过mybatis-spring的MapperScan来完成的. Mybatis-plus中的自动配置类MybatisPlusAutoConfigurati

  • Java汉字转拼音案例详解

    一.引入Maven依赖 <dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.0</version> </dependency> 二.代码 import com.gyyjy.portal.pojo.cms.sm.SelectTreeVO; import net.sourceforge

  • Java汉子转拼音案例详解

    一.引入Maven依赖 <dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.0</version> </dependency> 二.代码 import com.gyyjy.portal.pojo.cms.sm.SelectTreeVO; import net.sourceforge

  • Java之Jackson使用案例详解

    序列化 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象. Json是什么? Jason是 JavaScript Object Notation-  JavaScript对象表示法,是一种轻量级数据交换格式.主要用于数据传输,比如说在后端写了一个Java对象,想在其他地方(前端)使用这个对象,就需要转换为Json这种形式进行传输. 1.

  • Java之Buffer属性案例详解

    一.前言 熟悉NIO的人想必一定不会陌生buffer中position,limit,capacity这三个属性吧,之前在学习的时候遇到一个问题:就是当你先往缓冲区写入一部分数据,然后调用flip()方法,再全部读取完数据,然后再调用flip()方法,此时这三个值的变化是怎样的,研究了一下,决定写下来分享一下. 二.正文 1.介绍 position: 它指的是下一次读取或写入的位置. limit: 指定还有多少数据需要写出(在从缓冲区写入通道时),或者还有多少空间可以读入数据(在从通道读入缓冲区时

  • Java Spring拦截器案例详解

    springmvc提供了拦截器,类似于过滤器,他将在我们的请求具体出来之前先做检查,有权决定接下来是否继续,对我们的请求进行加工. 拦截器,可以设计多个. 通过实现handlerunterceptor,这是个接口 定义了非常重要的三个方法: 后置处理 前置处理 完成处理 案例一: 通过拦截器实现方法耗时统计与警告 package com.xy.interceptors; import org.springframework.web.servlet.HandlerInterceptor; impo

  • Java Thread之Sleep()案例详解

    一.API简介 Thread.sleep()是Thread类的一个静态方法,使当前线程休眠,进入阻塞状态(暂停执行),如果线程在睡眠状态被中断,将会抛出IterruptedException中断异常..主要方法如下: [a]sleep(long millis)  线程睡眠 millis 毫秒 [b]sleep(long millis, int nanos)  线程睡眠 millis 毫秒 + nanos 纳秒 Api文档: 二.使用方法 注意:在哪个线程里面调用sleep()方法就阻塞哪个线程.

  • Java获取当前时间戳案例详解

    获取当前时间戳 //方法 一 System.currentTimeMillis(); //方法 二 Calendar.getInstance().getTimeInMillis(); //方法 三 new Date().getTime(); 获取时间戳三种方法执行效率比较: import java.util.Calendar; import java.util.Date; public class TimeTest { private static long _TEN_THOUSAND=1000

  • Java反射 PropertyDescriptor类案例详解

    JAVA中反射机制(JavaBean的内省与BeanUtils库) 内省(Introspector) 是Java 语言对JavaBean类属性.事件的一种缺省处理方法. JavaBean是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的字段,且方法名符合某种命名规则.如果在两个模块之间传递信息,可以将信息封装进JavaBean中,这种对象称为"值对象"(Value Object),或"VO".方法比较少.这些信息储存在类的私有变量中,通过set(

  • Java JVM编译策略案例详解

    解释器 当虚拟机启动时,解释器可以首先发挥作用,而不必等待编译器全部编译完成再执行,这样可以省去许多不必要的编译时间.并且随着程序运行时间的推移,编译器逐渐发挥作用,根据热点探测功能,,将有价值的字节码编译为本地机器指令,以换取更高的程序执行效率. hotspot中内嵌有2个JIT编译器,分别为Client Compiler,Server Compiler,但大多数情况下我们称之为C1编译器和C2编译器. C1编译器 client compiler,又称C1编译器,较为轻量,只做少量性能开销比较

  • Java reservedcodecachesize虚拟机参数案例详解

    一.reservedcodecachesize参数介绍 该参数是JvM虚拟机调优中调整内存大小的一个设置参数,值得大小设置直接影响到Code Cache的大小,而jvm编译的代码有常常存放在Code Cache中,而Code Cache的空间内存又支撑着jvm的正常运行,如果该空间不足jvm虚拟机将会发生问题,并且性能持续降低. Code Cache就是所谓的代码缓存,由于JVM虚拟机的内存默认是有大小限制的,因此代码缓存区域肯定也是有一定大小限制,一般的Windows电脑上64位系统下它的默认

随机推荐