2016-04-19 3 views
1

Этот код предназначен для возврата поздравлений, когда два массива находятся в одном порядке. У меня есть оба массива в качестве теста, и они становятся одинаковыми, но сообщение «поздравления» не печатается. Может кто-то помочь?Оператор Boolean 'if' не работает

 boolean truefalse = Arrays.equals(original, currentarr); 
     if (truefalse == true){ 
      System.out.println("Congratulations"); 
      var1 = var1 + var2; 
     } 

ответ

4

Arrays.equals(Object[] a, Object[] a2) сравнивает членов массивов с equals. Поэтому для 2D-массивов, когда сами элементы являются массивами, он сравнивает ссылки (поскольку массивы не переопределяют Objectequals).

Вместо этого использовать Arrays.deepEquals.

Смежные вопросы