最近使用pinyin4j.jar对数据库地名进行拼音转换老是报空指针
转换代码如下
public static String ToPinyin(String chinese) {
if(chinese==null||chinese.isEmpty()){
return null;
}
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;
}

空指针错误原因是数据库有字段为
辽宁(营口)沿海产业基地
该方法不能解析括号
一旦运行就会报错
解决方法:
将上面代码改为
public static String ToPinyin(String chinese) {
if(chinese==null||chinese.isEmpty()){
return null;
}
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;
}

问题得到解决

pinyin4j NullPointerException: null空指针异常相关推荐

  1. 轻松搞定项目中的空指针异常Caused by: java.lang.NullPointerException: null

    轻松搞定项目中的空指针异常Caused by: java.lang.NullPointerException: null 参考文章: (1)轻松搞定项目中的空指针异常Caused by: java.l ...

  2. HIVE空指针异常:hive NullPointerException null

    hive NullPointerException null HIVE空指针异常 可能出现错误的2种原因: 1. 分区表未指定分区 2. Union all情况下,前后2段的字段名.数据类型不匹配

  3. 空指针在java中的环境配置,轻松搞定项目中的空指针异常Caused by: java.lang.NullPointerException: null...

    大家在项目测试过程中,是不是经常会碰到这个空指针异常呢Caused by: java.lang.NullPointerException: null 当大家遇到这个问题,大家是怎么处理?自己解决还是让 ...

  4. java.lang.NullPointerException: null的错误

    在调试后台程序时,出现了java.lang.NullPointerException: null的问题,控制台打印的日志如下: 2022-02-14 06:55:21.313 ERROR 11600 ...

  5. spring-boot框架dubbo在controlle中r注解@Reference注入service,但是调用方法时候,service报null空指针异常

    spring-boot框架dubbo在controlle中r注解@Reference注入service,但是调用方法时候,service报null空指针异常 参考文章: (1)spring-boot框 ...

  6. java.lang.NullPointerException: null无堆栈信息

    今天遇到个java.lang.NullPointerException: null,发现没有堆栈信息,无法定位.看了下代码,按道理是会打印堆栈的啊. try {... } catch(Throwabl ...

  7. spark报错 java.lang.NullPointerException: Null value appeared in non-nullable field:top level Product

    报错内容 java.lang.NullPointerException: Null value appeared in non-nullable field: top level Product in ...

  8. 单元测试中用@Autowired 报null (空指针异常)

    单元测试中用@Autowired 报null (空指针异常) 参考文章: (1)单元测试中用@Autowired 报null (空指针异常) (2)https://www.cnblogs.com/au ...

  9. Swagger报错,Unable to scan document context default java.lang.NullPointerException: null

    最近改完代码之后,启动项目,发现有以下error报错: Unable to scan document context default java.lang.NullPointerException: ...

最新文章

  1. glove 安装错误
  2. springboot-mysql-HikariCP集成
  3. 前端人员如何模拟慢网速环境
  4. 基本概念—监督与非监督
  5. 计组之数据运算:13、加法器优化
  6. 接到骗子短信后........
  7. timestamp ---自动更新修改时间 与 记录首次插入时间
  8. 【机房收费系统】--SSTab控件与MSHFlexGrid控件
  9. 如何设计一种简单的恒流/恒压降压转换器
  10. Docker(2) Windows10安装教程(DockerToolbox)
  11. python--基础知识点--继承、多态、鸭子类型
  12. HTML5中网页布局及display属性重点总结
  13. 第十七节:通信之WLAN(WPA3-Ⅰ)
  14. 12. 查询表product——查询库存商品中,最高单价、最低单价分别是多少
  15. DeFi:过去、现在和未来
  16. 股票-集合竟价与连续竟价
  17. 和的极限等于极限之和
  18. Crypto 学习第二天
  19. Redis删除指定前缀的key
  20. 政策理解优化,安徽省碳达峰碳中和领域科技项目申报领域条件要求方式流程要点

热门文章

  1. 五金进销存软件,流程可以处理好业务中的人、客、货、账
  2. EEC: LEARNING TO ENCODE AND REGENERATE IMAGES FOR CONTINUAL LEARNING
  3. 5.类似mouse-click方法的替代方案(netlogo)
  4. 【异常】android.app.Application cannot be cast to****
  5. 解决win7打印机共享出现“无法保存打印机设置(错误0x000006d9)的问题
  6. 0221沙发的制作过程(使用3DsMAX2016)
  7. 现在计算机有64位吗,任何电脑都可以装64位系统吗|是不是所有的电脑都可以装64位系统...
  8. 傅里叶变换中的特征函数以及一些冲激函数的性质
  9. 机器视觉之ros人脸识别
  10. JSD-2204-WebServer(项目)-二维码-Day16