有什么区别:
public <E>int compareTo(E e) // first line (compilation error)
和
public int compareTo(E e) // second line (OK)
仅在第二行我通过了编译器。这是否意味着它需要确保该特定元素在类中被普遍声明? 否则你可以放入任何元素并且没有多大意义。我是否以正确的方式看待它?提前致谢。
最佳答案
将类型参数声明放在返回类型之前:
public <E> int compareTo(E e)
你可以有一个类(class)<E>
类型参数也是如此,但是方法级参数将隐藏它。在 this question 中阅读更多相关信息.
关于Java 泛型,类型变量作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15635269/