Java泛型是Java語言中的一項功能,它可以使得我們的代碼變得更加靈活。Java泛型有一個重要的特性就是泛型上限和下限。
泛型上限指的是,定義泛型時,我們可以限制其所接受的類型必須是某個特定的類或者是其子類。這個特性可以通過在泛型定義中使用“extends”關鍵字來實現。下面是一個使用泛型上限的例子:
public class MyClass<T extends Number> { private T value; public void setValue(T newValue) { value = newValue; } }
在這個例子中,我們使用了“extends Number”來限制泛型類型T必須是Number類或者是其子類。這樣,我們就可以確保傳入MyClass對象的值都是數字類型。
泛型下限則是相反的概念,它指定泛型必須是某個特定類的父類,可以通過在泛型定義中使用“super”關鍵字來實現。下面是一個使用泛型下限的例子:
public class MyOtherClass<T super String> { private T value; public String getValue() { return value.toString(); } }
在這個例子中,我們使用了“super String”來指定泛型類型T必須是String類的父類。這樣,我們就可以確保從MyOtherClass對象中獲取出來的值始終是一個字符串類型。
總結而言,泛型上限和下限是Java泛型中極為重要的概念,它們可以使我們的代碼更加靈活、可靠,并且能夠幫助我們避免類型錯誤。