小编ten*_*ors的帖子

为什么 java Arrays.binarySearch 返回奇怪的结果?

在标准 Java 11 库中,如果未找到元素,方法应返回:

...大于键的第一个元素的索引...

在 Java 11 上,此示例打印 17

int[] data = new int[] {2, 4, 5, 12, 17, 19};
System.out.println(data[-1 *Arrays.binarySearch(data, 6)]);
Run Code Online (Sandbox Code Playgroud)

在这个代码示例中,第一个大于 6 的元素是 12,但它返回索引 17。为什么?

java

0
推荐指数
1
解决办法
162
查看次数

标签 统计

java ×1