私は次のコードを持っています。私がする必要があるのは、アイテム オブジェクト リストにインスタンス (型オブジェクト) を追加することです (最後の if で行われます) が、完全なキーの一致を見つける必要があります。fromProp と toProp は、このインスタンスのフィールド タイプ オブジェクトです (キーは username 、 customer 、number、f1 などになります)。現在、コードは最初の一致フィールド (最後の if ステートメント内) で動作しています。最初の一致が見つかった場合は、データを項目リストに追加しますが、完全なキー一致を見つけたい、つまり 3 つのキーがある場合は、項目オブジェクトに「toEntityInstance」を追加するよりも完全に一致します。どうすればいいですか?
for (Object fromEntityInstance : fromEntityInstances) {
List<Object> itemObject = new ArrayList<Object>();
for (String[] prop : depPropMappings) {
// Get properties related keys
fromProp = prop[0];
toProp = prop[1];
Object fromValue = getInstanceValue(fromProp, fromEntityInstance);
for (Object toEntityInstance : toEntityInstances) {
Object toValue = getInstanceValue(toProp, toEntityInstance);
if (fromValue.equals(toValue)) {
itemObject.add(toEntityInstance);
}
}
}
たとえば、エンティティは fromEntityInstanceにすることができます
f1=Mark
f2=abc
f3=test1
f4=test1
f5=test1
toEntityInstance
f1=Mark
f2=abc
f3=test1
f4=test1
f5=test1
f1=Mark
f2=abc
f3=test1
f4=test1
f5=test1
f1=jhon
f2=yyyy
f3=test1
f4=test1
f5=test1
depPropMappings には、キーのインスタンスが 2 つあります。
最初のインスタンス
fromProp = f1;
toProp = f1;
2 番目のインスタンス
fromProp = f2;
toProp = f2;
そのため、 toEntityInstance から itemObject に最初の 2 つのエンティティ ( f1=mark & f2=abc ) だけを追加する必要があります。現在、f1 の一致が見つかったが F2 を無視した場合、コードは機能します...
最初にキーの数を数えようと思います。キーの数が一致している場合は、リストを更新しますが、その方法がわかりません