集合类型总是在自定义声纳检查规则类中返回'unknownSymbol'。
//演示类
public class SaasConstantNameCheckCase {
private static final long serialVersionUID;
private final String title;
public static final Integer maxSize = 1111;// Noncompliant
private static List list = new ArrayList<>();
private static HashMap<String, String> map = new HashMap<>();
}
//自定义规则类
@Override
public void visitVariable(VariableTree tree) {
VariableSymbol symbol = (VariableSymbol) tree.symbol();
String type = symbol.type().name();
System.out.println("type->"+type);
}
//测试结果
type->long
type->String
type->Integer
type->!unknownSymbol!
type->!unknownSymbol!
为什么?
答案 0 :(得分:0)
SonarJava在无法解析实际类型符号时将显示此unknownSymbol!
字符串。
在这种情况下,您应该使用完全限定的类型java.util.List
和java.util.HashMap
,或者将其导入。