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()是英语还是法语.在对我周围的所有人进行检查后,我将与那些懂英语或法语的人交谈.
您可以使用:
private LinkedList<Class <?>> collectionOfClasses...
Run Code Online (Sandbox Code Playgroud)
如果您有更具体的内容,可以尝试:
private LinkedList<Class <? extends MyInterface>> collectionOfClasses...
Run Code Online (Sandbox Code Playgroud)
您可以使用ArrayList<Class<?>>
。
例如:
List<Class<?>> list = new ArrayList<Class<?>>();
list.add(String.class);
list.add(x.getClass());
Run Code Online (Sandbox Code Playgroud)