Arrays クラスの JavaDocs を読みながら。オーバーロードされたメソッドがたくさんあることに気づきました。例えば、
static int binarySearch(byte[] a, byte key)
static int binarySearch(char[] a, char key)
static <T> int binarySearch(T[] a, T key, Comparator<? super T> c)
最後の汎用メソッドで十分なように見えるのに、なぜこれほど多くのオーバーロードされたメソッドが必要なのか理解できません。
Generics の前でさえ、メソッドObject
が問題を解決できた可能性があります。
なぜ Arrays クラスは多くのオーバーロードされたメソッドで設計されているのですか?