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规则整理