FindBugs 规则整理:Internationalization

DM_DEFAULT_ENCODING

  • 翻译
    Found a call to a method which will perform a byte to String (or String to byte) conversion, and will assume that the default platform encoding is suitable. This will cause the application behaviour to vary between platforms. Use an alternative API and specify a charset name or Charset object explicitly.
    某方法将字节转换为字符串,并且假定默认的平台编码是合适的,这会导致程序在不同平台上存在异常情况,请使用指定的字节编码进行转码
  • 原因
    在进行字符串转换时没有指定特定编码
  • 解决方案
    添加Charset.defaultCharset()

DM_CONVERT_CASE

Consider using Locale parameterized version of invoked method
使用平台默认的编码格式对字符串进行大小写转换,这可能导致国际字符的转换不当。使用以下方式对字符进行转换
String.toUpperCase( Locale l )
String.toLowerCase( Locale l )

其他文章(持续更新)

FindBugs:简介与使用
FindBugs 规则整理:Bad Practice
FindBugs 规则整理:Style & Dodgy
FindBugs 规则整理:Malicious Code Vulnerability
FindBugs 规则整理:Multithreaded Correctness
FindBugs 规则整理:Security & Experimental
FindBugs 规则整理:Performance
FindBugs 规则整理:CORRECTNESS

引用

整合以下文章过程中发现部分存在翻译错误,已做修正,同时感谢以下文章作者
FindBugs规则整理


版权声明

![Creative Commons BY-NC-ND 4.0 International License](/images/cc.png)

Lam’s Blog by Binghe Lin is licensed under a Creative Commons BY-NC-ND 4.0 International License.
林炳河创作并维护的Lam’s Blog采用创作共用保留署名-非商业-禁止演绎4.0国际许可证

本文首发于Lam’s Blog - Knowledeg as Action,版权所有,侵权必究。

本文永久链接:http://linbinghe.com/2017/7a2a5923.html