我想问问两个用户在排序时相等是什么意思啊

我想问问两个用户在排序时是相等的是什么意思啊,要用到哪方面的知识,没有思路了,怎么做呀,谢谢了

img


package Answer7731784;

import java.util.ArrayList;
import java.util.Collections;

class User implements Comparable<User> {
    private String username;
    private String password;
    private int role;

    protected User(String username, String password, int role) {
        super();
        this.username = username;
        this.password = password;
        this.role = role;
    }

    @Override
    public int compareTo(User o) {
        return username.compareTo(o.username);
    }

    @Override
    public String toString() {
        return "\nUser [username=" + username + ", password=" + password + ", role=" + role + "]\n";
    }
    

}
public class Answer{
    public static void main(String[] args) {
        ArrayList<User> list = new ArrayList<>();
        User user1 = new User("b", "123", 0);
        list.add(user1);
        User user2 = new User("b", "4567", 0);
        list.add(user2);
        
        Collections.sort(list);//排序
        System.out.println("两个user对象"+(user1.compareTo(user2)==0?"相等":"不相等"));
        System.out.println(list);//打印排序结果
    }
}

img

自定义类 实现Comparable接口 重写compareTo方法

两个用户在排序时是相等的:这个表述有问题,既然是排序,那排序的结果是有顺序的,不是相等的。
他想表达的意思是:两个用户的username相同时,排序结果是并列的。比如都是第2。
用到的方法是String的equals方法

用户在排序时是相等。当用户名全等时,认为他们的排名是相等的。名次是一样的。就像成绩相等一样,名次是一样的