Java語言中有兩個關鍵字T和Object,它們都可以用來定義類或作為泛型類型參數。
T是Java泛型中類型參數的通配符,表示任何一個類型。T可以在類、接口、方法的定義中用作參數,以表示該參數接收的是一個類型,這個類型可以是任何一種。
// 定義泛型類 public class Box{ private T t; public void set(T t) { this.t = t; } public T get() { return t; } }
Object是Java語言中所有類的超類,任何類都可以被轉換成Object類型。它可以作為泛型中的類型參數,但是它并不是泛型中的通配符。通過在類、接口、方法中使用Object類型,可以接收任何類型的對象,這些對象可以是String、Integer、List或其他任何可實例化的類。
// Object作為泛型類型參數 public class Box { private Object object; public void set(Object object) { this.object = object; } public Object get() { return object; } }
雖然T和Object都可以用作泛型類型參數,但是它們之間存在一些區別:
- T是一種類型通配符,它只能表示類型而不能表示具體的對象;
- 而Object是所有對象的超類,可以接收任何類型的對象;
- 在使用時,T在泛型中是具體類型的占位符,而Object則表示一種對象,是一個具體的類。