次の Groovy コードがコンパイルされない理由がわかりません
@groovy.transform.CompileStatic
class GenericTest<T extends String> extends TreeSet<T> {
public boolean add2(T key) {
return super.add(key)
}
}
それは私に教えてくれます
[静的型チェック] - java.util.TreeSet#add(java.lang.Object ) を引数 [java.lang.String] で呼び出すことはできません
型消去に関連するものに違いないことは理解していますが、わかりません。
同様の Java コードは問題なくコンパイルされます
import java.util.TreeSet;
public class GenericTest2<T extends String> extends TreeSet<T> {
public boolean add2(T val){
return super.add(val);
}
}