簡體   English   中英

可能創建一個引用類型數組?

[英]Possible to create a array of referencetype?

例如,我有一個對象數組列表,我想測試它是哪種對象。

例如。

ArrayList<Object> list = new ArrayList<Object>();
list.add("StringType");
list.add(5);
list.add(new randomClass());

ArrayList<Class?> define = new ArrayList<Class?>(); // <-- part i dont know what to do
define.add(String);
define.add(int);
define.add(randomClass);

for(x=0; .. ; ..){
if(list.get(x) instanceof define.get(x))
    //do stuff 
}
//Get results if list matches define?

或者我是否必須將引用類型存儲為String並執行list.get(x).getClass().toString().equals(define.get(x));

您可以使用Class<?>作為第二個列表的類型參數-然后使用Class.isInstance來執行“ instancehood”的檢查:

List<Class<?>> classes = new ArrayList<>();
classes.add(String.class);
classes.add(int.class);
classes.add(RandomClass.class);

for (int i = 0; i < list.size(); i++) {
    if (classes.get(i).isInstance(list.get(i))) {
        ...
    }
}

暫無
暫無

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

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