给定一个已排序的整型数组 `int[] arr = {2, 5, 8, 12, 16, 23, 38, 56, 72, 91};`,使用 `Arrays.binarySearch(arr, 16)` 方法查找数值 16 的索引,如果使用 `Arrays.binarySearch(arr, 17)` 查找数值 17,则该方法会返回什么结果?
答案解析
Arrays.binarySearch(arr, 16) 会返回16的索引值4。当查找的元素不存在时,binarySearch 返回 -(插入点索引 + 1)。由于17应该插入到16之后的位置,也就是索引为5的位置,因此返回 -(5+1) = -6。
正确答案:B