类的集合

aps*_*aps 3 java collections class

是否可以创建不同类类型的集合,以便稍后可以检查对象以查看它是否是集合中任何这些类的对象?就像是:

for(Class c: collectionOfClasses){
    if(o.getClass() == c){
        //do something
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里,o是一些对象.我试用了以下:

private LinkedList<Class> collectionOfClasses...
Run Code Online (Sandbox Code Playgroud)

Eclipse给出警告"类是原始类型.应该参数化对泛型类的引用." 做任何我想做的安全方式?

编辑#1

实际上我有不同类的对象(不构成层次结构),移动.它们都有一定的半径.只有当另一个对象属于其已知类之一时,特定对象才能与其半径中的其他对象连接.我能否清楚自己?

编辑#2

我想做的一个很好的例子:假设我说英语和法语.但我可以识别身边的不同人类.假设我看到附近有10个人.然后我将尝试测试p1.getClass()是英语还是法语,p2.getClass()是英语还是法语.在对我周围的所有人进行检查后,我将与那些懂英语或法语的人交谈.

Ron*_*onK 9

您可以使用:

private LinkedList<Class <?>> collectionOfClasses...
Run Code Online (Sandbox Code Playgroud)

如果您有更具体的内容,可以尝试:

private LinkedList<Class <? extends MyInterface>> collectionOfClasses...
Run Code Online (Sandbox Code Playgroud)


Mar*_*elo 3

您可以使用ArrayList<Class<?>>

例如:

List<Class<?>> list = new ArrayList<Class<?>>();
list.add(String.class);
list.add(x.getClass());
Run Code Online (Sandbox Code Playgroud)