Java泛型通配符:上界與下界,簡單理解

Java泛型通配符(`?`)用於統一處理不同類型的泛型集合(如`List<Integer>`、`List<Double>`),避免重複定義方法。通配符分兩種: **上界通配符(`? extends T`)**:元素是`T`的子類或`T`本身。特點是**只能獲取元素**(返回類型爲`T`),不可添加元素(編譯器無法確定具體子類),適用於讀取集合元素(如打印`Number`及其子類集合)。 **下界通配符(`? super T`)**:元素是`T`的父類或`T`本身。特點是**只能添加元素**(`T`或其子類),不可獲取具體類型(只能返回`Object`),適用於添加元素(如往`Number`父類集合中添加子類元素)。 核心區別:上界“只讀”、下界“只寫”,需根據場景選擇,避免過度使用通配符或誤用`T`。

閱讀全文