Java的泛型是為了解決類型安全問題而產生的一種機制。通過使用泛型,我們可以將一個類或者一個方法的參數類型暫時地確定下來,等到實際使用的時候再進行具體的賦值。
泛型有兩種定義方式:使用類或者方法定義泛型。使用類定義泛型時,我們需要在類名后面添加一個尖括號,并在其中定義泛型名稱,如下所示:
public class Test{ private T data; public T getData() { return data; } public void setData(T data) { this.data = data; } }
在上面的代碼中,我們定義了一個名為Test的類,并使用了泛型類型T來代表一個未知的類型。在類中,我們可以使用T類型來定義類的成員變量,方法的參數類型或者方法的返回值類型。
使用方法定義泛型時,我們需要在方法名前面添加一個尖括號,并在其中定義泛型名稱,如下所示:
publicT test(T data) { return data; }
在上面的代碼中,我們定義了一個名為test的方法,并使用了泛型類型T來代表一個未知的類型。在方法中,我們可以使用T類型來定義方法的參數類型或者方法的返回值類型。
在Java中,我們可以使用new關鍵字來實例化一個泛型類型,如下所示:
Testtest = new Test<>(); test.setData("Hello World!"); System.out.println(test.getData()); // 輸出Hello World!
在上面的代碼中,我們實例化了一個名為test的Test類,并指定了泛型類型為String。然后我們調用了Test類的setData方法并將字符串"Hello World!"賦值給了Test類的成員變量data。最后我們調用了Test類的getData方法并輸出了其返回值。