欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中List<?>和List<Object>區(qū)別小結(jié)

 更新時間:2025年09月05日 09:38:34   作者:青秋.  
List<?>和?List<Object>?是兩種在?Java?中用于表示泛型集合的方式,下面就來介紹一下Java中List<?>和List<Object>區(qū)別小結(jié),感興趣的可以了解一下

List<?>和 List<Object> 是兩種在 Java 中用于表示泛型集合的方式,但它們有不同的含義和用法。下面是這兩者之間的區(qū)別:

1. List<?>

List<?> 是通配符類型(Wildcard Type)的一種表示方式。`?` 表示可以是任何類型,但無法對其進行操作,例如獲取或設(shè)置元素的類型。

特點:

`List<?>` 表示一個類型未知的 `List`,其中元素的類型可以是任意的(例如 `List<Integer>`、`List<String>` 等)。
- 只能從 `List<?>` 中讀取元素,但無法向其中添加元素(除了 `null`)。

import java.util.List;
import java.util.ArrayList;

public class WildcardExample {
    public static void main(String[] args) {
        List<?> list1 = new ArrayList<String>();  // 可以是任意類型的 List
        List<?> list2 = new ArrayList<Integer>();
        // 你可以讀取元素,但不能添加非 null 的元素
        Object obj = list1.get(0);  // 獲取元素,返回類型為 Object
        // 以下行會報錯,因為不能向 List<?> 中添加元素
        // list1.add("Hello");   // 編譯錯誤
        // list1.add(10);        // 編譯錯誤
    }
}

2. List<Object>

`List<Object>` 是一個具體的類型參數(shù),它表示一個可以包含任意類型的對象的 `List`。由于所有 Java 類(包括自定義類)都繼承自 `Object`,所以 `List<Object>` 可以存儲任何類型的元素。
- `List<Object>` 是一個 `List`,其中的元素必須是 `Object` 或其子類(即任何對象)。
- 你可以向 `List<Object>` 添加任何類型的元素,甚至是 `null` 或者不同類型的對象。

import java.util.List;
import java.util.ArrayList;

public class ObjectListExample {
    public static void main(String[] args) {
        List<Object> list = new ArrayList<>();
        
        list.add("Hello");  // 添加一個 String
        list.add(10);       // 添加一個 Integer
        list.add(3.14);     // 添加一個 Double

        // 可以從 list 中獲取任何類型的元素,但需要進行類型轉(zhuǎn)換
        Object obj1 = list.get(0);  // 返回 Object 類型,需要強制轉(zhuǎn)換
        String str = (String) obj1; // 需要類型轉(zhuǎn)換
        System.out.println(str);     // 輸出 "Hello"
    }
}

到此這篇關(guān)于Java中List<?>和List<Object>區(qū)別的文章就介紹到這了,更多相關(guān)Java List<?> List<Object>區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論