Tes*_*ter 1 java enums sonarqube sonarlint
我可能会错过一些东西,但是声明了LinkedHashmap:
private final LinkedHashMap<anEnum, anInteger> linkedHashMap;
Run Code Online (Sandbox Code Playgroud)
然后:
linkedHashMap = new LinkedHashMap<anEnum, anInteger>();
Run Code Online (Sandbox Code Playgroud)
结果是:
"使用枚举值的键映射应替换为EnumMap"(SQUID:1640)
由于没有"LinkedEnumMap",因此应忽略此声明.
事情是:使用EnumMap是一种很好的做法,因此SonarQube会告诉您这样做.
但是你明确选择使用LinkedHashMap - 它跟踪插入顺序.
所以该消息可以解释为:
换句话说:请记住,这些工具只是工具.他们提供信息以帮助您做出明智的决定.当你决定当前的实现是好的 - 那么不要改变你的代码,只是因为某些工具提出了这样的"建议".