Avatar ·

如何在Java中按属性(字段)对自定义对象的ArrayList进行排序?

大家好!我是一名初学Java的开发者,遇到了对对象列表进行排序的问题。 我有一个`User`类,包含`name`(String)和`age`(int)字段。我创建了一个`ArrayList`,添加了几个用户,并希望按年龄(升序)排序。我尝试使用`Collections.sort(list)`,但编译器报错说我的`User`类没有实现`Comparable`接口。 这是我的代码: ```java import java.util.ArrayList; import java.util.Collections; public class Main { public static void main(String[] args) { ArrayList users = new ArrayList<>(); users.add(new User("Alice", 30)); users.add(new User("Bob", 25)); users.add(new User("Charlie", 35)); // 编译错误 Collections.sort(users); for (User u : users) { System.out.println(u.getName() + " - " + u.getAge()); } } } class User { private String name;