Я прочитал несколько постов об этом, но не уверен, что какой-то ответ, который я искал. Я хочу выбрать класс, выбранный пользователем, и проверить, есть ли он в списке. Я не хочу создавать if, switch или Map (я буду использовать много классов). Я пытаюсь сделать это в несколько строк, если это вообще возможно. Спасибо!
public boolean isClassDefined(ArrayList<GeometricObject> geoObjects) {
Class<?> classDefinedByUser=null;
try {
classDefinedByUser = Class.forName("Square");
//as if user has typed "Square", being "class Square extends GeometricObject"
} catch (ClassNotFoundException ex) {
Logger.getLogger(Mission.class.getName()).log(Level.SEVERE, null, ex);
}
for (GeometricObject geo : geoObjects) {
//here is where i don't know what to do
//I want to create a if to check if there is an object (of the class
//defined by the user) initialized into ArrayList "geoObjects"
//I don't want to use lots of ifs
if (geo instanceof classDefinedByUser.getClass()) {
//if exists a Square type object, return true
return true;
}
}
return false;
}