2013-05-30 75 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

相關問題