我有这个toString方法设置
public String toString (){
String result;
result = "Ideal Family";
result += "\n"+person1.toString();
result += "\n"+person2.toString();
result += "\n"+person3.toString();
result += "\n"+person4.toString();
result += "\n"+pet1.toString();
result += "\n"+car1.toString();
result += "\n"+car2.toString();
result += "\n"+homeAddress.toString();
return result;
}
我按照我希望输出的顺序列出对象。有没有办法根据对象中的值重新排序列表。 在Person类中,根据实例变量int。
重新排序person对象Person类采用这些参数
public Person (String personName,String personGender,String personSS,int personAge){
name = personName;
ss = personSS;
age = personAge;
gender = personGender;
}
答案 0 :(得分:3)
首先,您应该使用集合而不是使用四个变量。这会更容易。
但是对于您要找的内容,请创建一个Person
s
List<Person> personList = Arrays.asList(person1, person2, person3, person4);
对列表进行排序
Collections.sort(personList, Comparator<Person>() {
public int compare(Person p1, Person p2) {
return Integer.valueOf(p1.getAge()).compareTo(p2.getAge());
}
});
并遍历列表
for(Person person : personList) {
result += "\n"+person.toString();
}
答案 1 :(得分:1)
是的,但您首先需要List
或数组。
List<Person> family;
或者:
Person[] family;
然后,您可以使用Collection.sort或Arrays.sort重新订购家庭以进行打印。