可以创建引用类型的数组? [英] Possible to create a array of referencetype?

查看:127
本文介绍了可以创建引用类型的数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

例如我有对象的ArrayList和我想测试一下它是什么类型的对象。

For example I have a arraylist of objects and I would like to test what kind of object it is.

如:

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()等于(define.get(X));

推荐答案

您可以使用类&LT;&GT; 作为第二个列表类型的参数 - 然后用 Class.isInstance 来执行检查的instancehood

You can use Class<?> as the type argument for the second list - and then use Class.isInstance to perform the check for "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))) {
        ...
    }
}

这篇关于可以创建引用类型的数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆