Dlaczego nie działa funkcja Collections.binarySearch () z tym porównywalnym?
Mam toPlayer
klasa, która implementujeComparable
berło. Potem mamArrayList
zPlayer
s. Próbuję użyćbinarySearch()
na liściePlayer
s, aby znaleźć jedenPlayer
, ale Java daje mi „cannot find symbol: method binarySearch(java.util.ArrayList< Player>,Player)
„
Ta klasa gracza:
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);
}
}
Dziwna rzecz, kiedy próbuję Collections.sort () na tej samej liście, działa.