如何在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;