Требуется абстракция для этого конкретного c случая, которая содержит всю информацию, которая нужна обеим сущностям. Например интерфейс с именем Entity
, который имеет метод getName()
.
Пример:
public interface Entity {
String getName();
}
public class Person implements Entity {
...
@Override
public String getName() {
return name;
}
}
public class Animal implements Entity {
...
@Override
public String getName() {
return name;
}
}
После того, как вы получите это, вы можете использовать его по типу:
List<Entity> entities = new ArrayList<>();
entities.add(new Person("person", 20);
entities.add(new Person("aPerson", 20);
entities.add(new Animal("animal", 20);
entities.add(new Animal("aAnimal", 20);
entities.sort((o1, o2) -> o1.getName().compareTo(o2.getName());
Можно также использовать abstract
класс.