[英]Java generics, type variable scope
之間有什么區別:
public <E>int compareTo(E e) // first line (compilation error)
和
public int compareTo(E e) // second line (OK)
僅在第二行中,我通過了編譯器。 這是否意味着需要確保該特定元素在類中被通用聲明? 否則,您可以添加任何元素,並且沒有任何意義。 我是否以正確的方式看到它? 提前致謝。
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(任何其他類)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.