有什么区别:
public <E>int compareTo(E e) // first line (compilation error)
和
public int compareTo(E e) // second line (OK)
仅在第二行我通过编译器。这是否意味着需要确保该特定元素在类中被普遍声明? 否则你可以放入任何元素并且没有多大意义。我是以正确的方式看到它的吗?提前谢谢。
答案 0 :(得分:2)
答案 1 :(得分:0)
public <E extends String> int compareTo(E o) { //1
}
根据您的编程需要,您可以考虑使用任何类而不是String
。
以上场景考虑用于实现Comparable
接口的类。
class SimpleClass<E> { // 2
E var;
public <E> int compareTo(E o) {
return 0;
}
}
如果我们不实现Comparable
接口,在// 2上面的类将起作用。 E 无需扩展String(任何其他类)。