2 つの配列が同一かどうかをテストしようとしています。それらの内部のすべての値を出力しました。これらの値が同じであることがわかりますが、何らかの理由で等値テストは常に false を返します。equals と Arrays.deepEquals を使用してみましたが、これら 2 つの方法のいずれも機能しません。
これが私のコードです:
System.out.println("========");
for (int i = 0; i < row.length; i++) {
System.out.println("----------");
System.out.println(row[i].getAlias());
System.out.println(row[i].getDisplay());
System.out.println(row[i].getModify());
System.out.println(row[i].getName());
System.out.println(row[i].getType());
System.out.println(row[i].getOp());
System.out.println(row[i].getValue());
System.out.println("----------");
}
System.out.println("========");
for (ResultContainer rc : editedResultsList) {
System.out.println("========");
for (int i = 0; i < rc.getResult().length; i++) {
System.out.println("----------");
System.out.println(rc.getResult()[i].getAlias());
System.out.println(rc.getResult()[i].getDisplay());
System.out.println(rc.getResult()[i].getModify());
System.out.println(rc.getResult()[i].getName());
System.out.println(rc.getResult()[i].getType());
System.out.println(rc.getResult()[i].getOp());
System.out.println(rc.getResult()[i].getValue());
System.out.println("----------");
}
System.out.println("========");
System.out.println(rc.getResult().equals(row));
System.out.println(Arrays.deepEquals(rc.getResult(), row));
System.out.println(rc.getResult() == row);
if (rc.getResult().equals(row)) {
editedResultsList.remove(rc);
}
}
出力は次のとおりです。
========
----------
null
false
false
mep_ident
NUMBER
insert
0
----------
----------
Numéro Partenaire
true
true
mep_ptrpartident
NUMBER
insert
000
----------
----------
Numéro Produit
true
true
mep_ptrpasident
NUMBER
insert
111
----------
----------
Code Document
true
true
mep_code_doc
VARCHAR2
insert
222
----------
----------
Production ?
true
true
mep_production
VARCHAR2
insert
333
----------
========
========
----------
null
false
false
mep_ident
NUMBER
insert
0
----------
----------
Numéro Partenaire
true
true
mep_ptrpartident
NUMBER
insert
000
----------
----------
Numéro Produit
true
true
mep_ptrpasident
NUMBER
insert
111
----------
----------
Code Document
true
true
mep_code_doc
VARCHAR2
insert
222
----------
----------
Production ?
true
true
mep_production
VARCHAR2
insert
333
----------
========
false
false
false
true