1

我不明白为什么以下 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);
    }
}
4

0 回答 0