【发布时间】:2020-08-07 18:01:13
【问题描述】:
假设我有两个类:
第 1 课:
class Person{
String name;
int age;
public Person(){}
public Person(String name, int age){
this.name = name;
this.age = age;
}
@Override
String toString(){
return "Name: "+name + "\tAge: "+age;
}
}
2 级
class Animal{
String name;
int age;
public Animal(){}
public Animal(String name, int age){
this.name = name;
this.age = age;
}
@Override
String toString(){
return "Name: "+name + "\tAge: "+age;
}
}
我创建了一个列表对象来存储 2 个类 Person 和 Animal
List newList = new ArrayList<>();
newList.add( new Person("person", 20);
newList.add( new Person("aPerson",20);
newList.add( new Animal("animal",20);
newList.add( new Animal("aAnimal",20);
现在我想按name 对newList 进行排序,但我不知道该怎么做。
使用一个类我可以创建类SortByName 并比较两个对象之间的名称,但是使用两个类我不能
【问题讨论】:
-
您需要创建一个抽象。示例:
Entity接口,其中包含一个由两个实体实现的 getName () 方法。因此,您可以在compare方法中使用该类型。 -
基类说他们都依赖的 NamedObject 将是一种方式。
标签: java sorting arraylist collections