Warum arbeitet Collections.binarySearch () nicht vergleichbar damit?

ich habe dasPlayer Klasse, die das implementiertComparable Schnittstelle. Dann habe ich eineArrayList vonPlayers. Ich versuche es zu benutzenbinarySearch() auf der Liste vonPlayers zu findenPlayer, aber Java gibt mir ein "cannot find symbol: method binarySearch(java.util.ArrayList< Player>,Player)".

Dies ist die Spielerklasse:

class Player implements Comparable {

    private String username;
    private String password;
    Statistics stats;

    //Constructor, creates a new Player with a supplied username
    Player(String name) {
        username = name;
        password = "";
        stats = new Statistics();
    }

    //Accessor method to return the username as a String
    String getName() {
        return username;
    }

    String getPassword() {
        return password;
    }

    void setPassword(String newPass) {
        password = newPass;
    }

    //Method to change the username
    void setName(String newName) {
        username = newName;
    }

    public int compareTo(Object o) {
        return username.compareTo(((Player)o).username);
    }
}

Seltsame Sache, wenn ich Collections.sort () auf der gleichen Liste versuche, funktioniert es.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage