У меня есть ArrayList, который содержит объекты суперкласса и некоторые объекты подкласса. Назовем их subclass1 и subclass2.Java - Сортировка подкласса из ArrayList суперкласса
Есть ли способ, которым я могу пойти ArrayList и определить, какие объекты являются SuperClass, subclass1 и subclass2. Поэтому я могу поместить их в ArrayList и ArrayList.
Это слишком упрощенная версия, но она демонстрирует то, что я надеюсь сделать.
public class food{
private String name;
public food(String name){
this.name = name;
}
}
public class pudding extends food{
public pudding(String name){
super(name);
}
}
public class breakfast extends food{
public breakfast(String name){
super(name);
}
}
public static void main(String args[]){
ArrayList<food> foods = new ArrayList();
foods.add(new food("Sausage"));
foods.add(new food("Bacon"));
foods.add(new pudding("cake"));
foods.add(new breakfast("toast"));
foods.add(new pudding("sponge"));
foods.add(new food("Rice"));
foods.add(new breakfast("eggs"));
ArrayList<pudding> puds = new ArrayList();
ArrayList<breakfast> wakeupjuices = new ArrayList();
for(food f : foods){
//if(f is pudding){puds.add(f);}
//else if(f is breakfast){wakeupjuices.add(f);}
}
}
Посмотрите 'instanceof' – kuporific
Большое спасибо – TheOnlyWAR10CK93
Просто совет для будущего: не связанный с вашим вопросом, но Java-соглашения требуют кэширования имен классов. Язык не требует этого, но когда вы перейдете к разработке с другими людьми, вы обнаружите, что ваш опыт будет намного более плавным, если вы это сделаете. :-) – Tenner