public class Abc<T>{
private final JavaType javaType;
public Abc(Class<T> type) {
this.javaType = getJavaType(type);
}
}
我调用的时候
Abc<HashSet<String>> Abc = new Abc<HashSet<String>>(HashSet<String>.class);
通不过,报错
Abc<HashSet<String>> Abc = new Abc<HashSet<String>>(HashSet.class);
还是报错
Abc<HashSet> Abc = new Abc<HashSet>(HashSet.class);
这样终于可以了,但是没有指定 HashSet 容器内部的类型,IDE 报警,而且我也觉得这好像不是正统的 java 写法,正统的 java 写法都应该指定容器里的类型的。
我查了不少资料,看起来最后一种才是对的,但是为啥最后一种那么别扭呢