我不明白为什么以下 Groovy 代码无法编译
@groovy.transform.CompileStatic
class GenericTest<T extends String> extends TreeSet<T> {
public boolean add2(T key) {
return super.add(key)
}
}
它告诉我
[静态类型检查] - 无法使用参数 [java.lang.String] 调用 java.util.TreeSet#add(java.lang.Object )
我知道它一定与类型擦除有关,但我无法弄清楚。
类似的java代码编译没有问题
import java.util.TreeSet;
public class GenericTest2<T extends String> extends TreeSet<T> {
public boolean add2(T val){
return super.add(val);
}
}