Java 泛型,类型变量作用域

标签 java generics compareto

有什么区别:

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/

相关文章:

VB6 对象比较

java - 如何知道何时调用了 Parse.initialize()?

java - 如何从 Android 上的 Locale 对象获取脚本?

Java:最小化窗口的 "Screenshot"?

java - 使用 DirectoryChooser 创建并保存到文本文件

Java 泛型、对象和通配符的区别和说明

typescript - 如何编写一个使用枚举成员的类型而不是枚举本身的通用函数?

java - 类型与类型变量不兼容

java - 使用数组按姓名和分数对学生进行排序

f# - 在 F# 元组中使用 CustomComparison 和 CustomEquality 实现自定义比较