【发布时间】:2010-12-27 20:08:41
【问题描述】:
我有这个实现Comparable 接口的Player 类。然后我有一个ArrayList 的Players。我正在尝试使用Players 列表中的binarySearch() 来查找Player,但Java 给了我一个“cannot find symbol: method binarySearch(java.util.ArrayList< Player>,Player)”。
这是 Player 类:
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);
}
}
奇怪的是,当我在同一个列表上尝试 Collections.sort() 时,它起作用了。
【问题讨论】:
-
你能告诉我们调用 Collections.binarySearch 的代码吗?
标签: java generics collections binary-search comparable