Я хочу проверить, является ли объект экземпляром класса объектов.Object instanceof Object
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;
}
Я сделал несколько классов, которые exctends других классов:
(дерево, железный, камень) расширяет Resouce расширяет объект
Человек распространяется объект
- Если type.getClass () = Ресурс: Дерево, железо и камень должны возвращать истину.
- Если type.getClass() = Дерево: дерево должно возвращать true, а Iron и Stone должны возвращать false.
Myself, я бы попытаться изменить дизайн моего кода, так что это запутано и код пахнущие InstanceOf не требуется. Возможно, вы хотите использовать шаблон дизайна посетителя (не уверен). –