используйте instanceof!
for(Iterator i = results.iterator(); i.hasNext();) {
Object row = i.next();
if (row instanceof User) {
User u = (User) row; // this is safe
// ...
}
}
с несколькими типами
for(Iterator i = results.iterator(); i.hasNext();) {
Object row = i.next();
if (row instanceof User) {
User u = (User) row; // this is safe
// ...
} else if (row instanceof Stuff) {
Stuff u = (Stuff) row; // this is safe
// ...
}
}
с несколькими типами в общем списке
Collection<? extends Human> results = ... ;
for(Human h : results) {
if (h instanceof User) {
User u = (User) h; // this is safe
// ...
} else if (h instanceof Man) {
Man m = (Man) h; // this is safe
// ...
} else if (row instanceof Woman) {
Woman w = (Woman) h; // this is safe
// ...
}
}
foreach вариант
for (Object row : results) {
if (row instanceof User) {
User u = (User) row; // this is safe
// ...
}
}
Ява 8 вариант
results.stream().filter(row -> row instanceof User).map(row -> (User) row).forEach(user -> {...});
НТН!