ドキュメントには、「配列内のすべての要素が指定されたキーより小さい場合、Arrays.binarySearch は a.length を返す」と書かれています。したがって、次のプログラムでは、値 4 が出力されることを期待していますが、-4 が出力されます。なぜこの異常な動作をするのでしょうか?
import java.io.*;
import java.math.*;
import java.util.*;
import java.lang.*;
public class Main{
public static void main(String[] args)throws java.lang.Exception{
int[] a = new int[3];
a[0] = 3;
a[1] = 8;
a[2] = 9;
System.out.println(Arrays.binarySearch(a, 15));
}
}