我正在尝试使用Java API Specification中记录的binarySearch方法,但我的IDE(Eclipse(Helios))无法识别签名。
我的课程,归结为它的2个数据成员以及我试图调用Arrays.binarySearch的方法:
import java.util.Arrays; // Access Arrays class
public class SortedStringArrayList {
// member data
private String[] items;
private int size;
// methods
public int testBinSearch(String item) {
int index = Arrays.binarySearch(items, 0, size, item);
}
}
当我在方法中编码时,Eclipse假定我想要一个不同的签名并告诉我:
方法binarySearch(int [],int)in 类型数组不适用于 参数(String [],int,int, 字符串)
它建议可用的二进制搜索的签名是:
我是Java / Eclipse的新手。有谁知道问题是什么?
答案 0 :(得分:5)
您需要告诉Eclipse使用Java 1.6(在项目设置下)。我猜你是1.5。 1.5及更早版本只有binarySearch
的基本版本,没有fromIndex
或toIndex
。
如果您希望使用较旧JRE的用户能够运行您的程序,您可以从the 1.6 source复制binarySearch
实施并将其粘贴到您自己的代码中。