據我的理解,下面的代碼應該打印true
,因爲這兩個元素都是equal
。Array.equal()給出錯誤的輸出
從Java文檔Array.get()將返回:
返回指定數組 對象中索引組件的值。如果該對象具有基本類型 ,則該值將自動包裝在對象中。
然而,當我運行下面的代碼是打印 false
:
public class Test1 {
static boolean equalTest(Object array1, Object array2) {
return Array.get(array1, 0).equals(Array.get(array2, 0));
}
public static void main(String[] args) {
int[] a = new int[1];
byte[] b = new byte[1];
a[0] = 3;
b[0] = 3;
System.out.println(equalTest(a, b));
}
}
我的問題是不執行數類是或者應該是直接的可比性彼此。
它們不是同一類型? 'int!= byte' – TryingToImprove
數據類型不匹配 – Akshay
imho它應該打印爲false,因爲它們不是相同的類型。 –