當我們將有界通配符與super 一起使用時,表示類型參數可以是指定型別或其任何超類別。例如,列表表示列表可以保存 Number 類型的物件或其任何父類別。
在第一個範例中,清單 list 宣告為清單不能接受 Object,因為 Object 不是 Number 的子類別。另一方面,Integer 是 Number 的子類,因此可以將其新增至清單。
在第二個範例中,您嘗試傳遞 List到需要 List 的方法超級數字>。出現此編譯錯誤是因為 String 不是 Number 的子類別。您提出的邏輯不正確:物件不是 Number 的超類,String 不是 Number 的子類別。
與下限通配符不同,上限通配符不能用作生產者。這表示您無法從 List 中取得單一元素。超數字>。此限制的存在是為了防止類型安全違規。
帶有 super 的有界通配符允許我們創建可以使用從公共超類繼承的多種類型的對象的集合。但是,在向這些集合添加元素時我們應該小心,因為我們不能添加不是指定超類別的子類別的物件。
以上是Java 泛型是如何做的? super` 通配符的工作原理及其限制是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!