如何避免此PMD错误 - 字符串文字"测试"在此文件中出现X次;

时间:2015-09-04 07:09:53

标签: java enums pmd

如何避免Java代码中的PMD错误?

public enum testEnum {

    TEST1(1L, "TEST", "random1");
    TEST2(2L, "TEST", "random2");
    TEST3(3L, "TEST", "random3");
    TEST4(4L, "TEST", "random4");
    TEST5(5L, "TEST", "random5");
    TEST6(6L, "TEST", "random6");
    TEST7(7L, "OTHER STRING", "random7");

    private Long id;
    private String type;
    private String text;

    private testEnum(Long id, String type, String text){
      this.id = id;
      this.type = type;
      this.text = text;
    }
}

运行PMD检查时会抛出这些错误:

  

String literal" TEST"在此文件中出现6次;第一次出现在第10行

有没有办法避免它而不是使用@SuppressWarnings("PMD")

3 个答案:

答案 0 :(得分:2)

你应该从中private static final String = "TEST"。重复相同的字符串是不好的做法。

避免这种情况的最佳方法是使用更有用的字符串而不是" TEST"。

答案 1 :(得分:0)

最好使用常量而不是在几个地方重复相同的String,这对堆和维护代码更好。您只需在一个地方进行修改,而不是查看要使用的“TEST”的位置。 您可以使用 : private static final String TEST =“TEST”;

答案 2 :(得分:0)

有时有充分的理由禁用此PMD警告。禁用特定警告的方法是将显式规则添加到抑制中。在这里:

@SuppressWarnings("PMD.AvoidDuplicateLiterals")

这也适用于所有其他规则。