Podemos usar una lista de objetos para devolver valores diferentes. Puede ser usado para un método que regrese una lista de objetos de varios tipos.
// TODO code application logic here
try {
A a = new A("aristides", 44);
B b = new B(56);
List<B> listB = new ArrayList<>();
Boolean found = false;
List<Object> list = new ArrayList<>();
list.add(a);
list.add(b);
list.add(found);
listB.add(new B(2));
listB.add(new B(7));
listB.add(new B(8));
list.add(listB);
System.out.println("=========run");
for (Object o : list) {
if (o instanceof A) {
A a1 = (A) o;
System.out.println("A====> " + a1.getId() + " " + a1.getName());
} else {
if (o instanceof B) {
B b1 = (B) o;
System.out.println("B====> " + b1.getEdad());
} else {
if (o instanceof Boolean) {
Boolean c = (Boolean) o;
System.out.println("Boolean ==>" + c);
}
else{
if(o instanceof List){
List<B> lb = (List<B>) o;
for(B b0:lb){
System.out.println("List==> "+b0.getEdad());
}
}
}
}
}
System.out.println("==> ");
}
} catch (Exception e) {
System.out.println("error " + e.getLocalizedMessage());
}
}
}