Я хочу сравнить значения двух массивов типа Integer. Я получаю неправильный ответ, когда я сравниваю их точные значения, и правильный ответ, когда я сравниваю их с Arrays.equals:, сравнивая значения двух целых чисел
Integer a[]=new Integer[2];
Integer b[]=new Integer[2];
a[0]=138;
a[1]=0;
b[0]=138;
b[1]=0;
boolean c;
c=a[0]==b[0];//c is false
c=Integer.valueOf(a[0])==Integer.valueOf(b[0]);//c is false
c=Arrays.equals(a, b);//c is true
Спасибо за ваш полный ответ. a и b были значениями хэша, и именно по этой причине они были целыми. – Pegah
@Pegah: Ах, да, повод! :-) Рад, что помогло. –