我想检查对象是否是对象类的实例。
public Stack<Object> getObject(int x, int y, int x2, int y2, Object type, Stats stats){
Stack<Object> ob = new Stack<Object>();
for(Object o : stats.map){
if(o instanceof type.getClass()){//Not working
if((!((o.x < x && o.x < x2) || (o.x * o.size > x && o.x * o.size > x2)) &&
!((o.y < y && o.y < y2) || (o.y * o.size > y && o.y * o.size > y2)))){
ob.push(o);
}
}
}
return ob;
}
我做了一些激发其他课程的课程:
(Tree,Iron,Stone)扩展了Resouce extends Object
Person extends Object
答案 0 :(得分:2)
您无法将instanceof
与Class
个对象一起使用。
您可以使用以下方式进行检查:
type.getClass().isInstance(o)
答案 1 :(得分:-2)
您可以使用
if(o.getClass() instanceof type.getClass()){