据我的理解,下面的代码应该打印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,因为它们不是相同的类型。 –