2013-05-30 44 views

回答

2

它有如果binarySearch()方法实际上是尝试比较两个无与伦比的对象做比较的。

在第2行和第4行,您很幸运能够找到正在搜索的元素,而不会遇到不兼容对象,并且不会引发ClassCastException

实际上,在您的编辑中(数组为{1,2,5,"ABC",6}之前),第2行是唯一可用的。

1

Arrays#sort javadoc(emphasys矿):

抛出:

- 如果的fromIndex> toIndex或(可选)如果数组元素的自然顺序被发现违反可比合同

ArrayIndexOutOfBoundsException - 如果fromIndex < 0或toIndex> a.length

ClassCastException - 如果数组包含不可相互比较的元素(例如,字符串和整数)。

Arrays#binarySearch javadoc(emphasys矿):

抛出

ClassCastException - 如果检索关键字没有可比性到所述阵列的所述元件。

注意,在第1行和你的代码3,"ABC"也不"6"与1,2或5

相关问题