簡體   English   中英

獲取非均質容器元素的類型

[英]get the type of non homogeneous container's element

我有一個ArrayList<Container> ,但是, Container可以是Container<String>Container<Integer>等。在迭代arraylist時,我需要找出它是什么類型的容器並做出相應的響應。 我知道Java具有類型擦除功能,但是有沒有一種方法可以預先存儲類型並在以后檢索它? 就像是

public T type;

並在以后使用,例如

container.type A = container.dosomething();

在運行時,Java不保留泛型的類型信息。 發生類型刪除,並且所有容器都被認為是相同的運行時類型。 使用反射可以獲取有關泛型的信息,但這很少值得付出。 您應該考慮重新設計代碼,或者在容器中的元素上使用getClass()來確定容器中實際元素的類型。

變量的類型是編譯時的概念。 其目的僅是允許編譯器確定對該變量或表達式允許進行哪些操作。

因此,“編譯時不知道的類型”是完全沒有用的,因為編譯器對如何使用它一無所知。 因此,該變量也可以鍵入Object

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM