[英]Does the name in a parameter type determine if the class is generic?
我剛開始閱讀有關泛型類的內容。 我想知道參數類型的名稱是否會影響傳入的內容。代碼1和代碼2的工作方式是否完全相同? 它們都是通用類嗎? 謝謝!
// Code 1
public class Bar<AnyType> {
private AnyType a;
}
// Code 2
public class Bar<Lalaland> {
private Lalaland a;
}
它的工作方式完全相同,就像選擇不同的變量名稱一樣。
int anyInt = 5;
與
int lalaland = 5;
但是請務必小心選擇與現有類名不同的泛型類型參數名稱。 雖然它是合法的,但當類型參數被誤認為類名時,會導致很多混淆。
// Don't do this.
public class Bar<Integer> // confusing!
根據關於這個主題的Java教程 ,
按照慣例,類型參數名稱是單個大寫字母。 這與您已經了解的變量命名約定形成鮮明對比,並且有充分的理由:如果沒有這種約定,就很難區分類型變量和普通類或接口名稱。
最常用的類型參數名稱是:
- E - Element(Java Collections Framework廣泛使用)
- K - 鑰匙
- N - 數字
- T型
- V - 價值
- S,U,V等 - 第2,第3,第4類型
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.