报告“幻数”:未通过常量声明来命名的数值文字。

使用幻数会导致代码不清晰,并且如果幻数在一个位置更改但在另一个位置保持不变,则会导致错误。 此检查不会报告数字 0、1、2、3、4、5、6、7、8、9、10、100、1000、0L、1L、2L、0.0、1.0、0.0F 和 1.0F。

示例:


  void checkFileSize(long bytes) {
    if (bytes > 1_048_576) {
      throw new IllegalArgumentException("too big");
    }
  }

快速修复引入了一个新常量:


  static final int MAX_SUPPORTED_FILE_SIZE = 1_048_576;

  void checkFileSize(long bytes) {
    if (bytes > MAX_SUPPORTED_FILE_SIZE) {
      throw new IllegalArgumentException("too big");
    }
  }

配置检查: