1.题目要求输入,你把s1写死了肯定不对呀
2.s2里存的是字符串啊,而且是未经分解的字符串
你循环里的temp被丢弃了,后面没有用到,还有循环里应该写s2[i].split而不是s1.split
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Test {
public static void main(String[] args) {
//定义一组User数据
List<User> userList = new ArrayList<>();
User user = new User("1","张三",25);
userList.add(user);
user = new User("2","李四",22);
userList.add(user);
user = new User("3","王五",20);
userList.add(user);
//排序
Collections.sort(userList);
//输出
System.out.println(userList);
}
}
class User implements Comparable{
public String id;
public String name;
public int age;
public User(String id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
@Override
public int compareTo(Object o) {
User user = (User)o;
if(this.age == user.age){
//年龄相同,则按姓名排序
return this.name.compareTo(user.name);
}
//年龄不相同,升序排列
return this.age - user.age;
}
@Override
public String toString() {
return "User{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}