Hi,
ich habe 2 Map-Files: Folgender Aufbau!
Alte:
0x0000 0xFF Test1
0x0001 0xF2 Test2
0x0002 0xFF Test3
0x0003 0xFF Test4
0x0004 0xF1 Test5
Neue:
0x0000 0xF0 Test1
0x0001 0xF1 Test2
0x0002 0xF1 Test3
0x0003 0xF1 Test4
0x0004 0xFF Test5
0x0005 0xF1 Test6
Ich vergleiche hier zuerst ob aus der neuen und alten z.B. Test3 in beiden vorhanden ist! Und danach überprüfe ich ob es eine Wertveränderung (2. Spalte z.B. bei Test3 von 0xFF -> 0xF1) in der neuen Map-File gibt.
Trotz Veränderung gibt die Bedingung mir in der Console aber falsche Werte an. Warum?
Java Code:
[LEFT]
[ol]
[li][FONT=Courier New]for (int x = 2; x < getArrayListSize(); x += 3) { [/li][li] if (x <= newArrayList.size()) {[/li][li] System.out.println("ALL: " + newArrayList.get(x));[/li][li] // Check if description of the new map file is equal to the old map-file[/li][li] if (oldArrayList.contains(newArrayList.get(x))) {[/li][li] System.out.println("Old Value: " + oldArrayList.get(x-1) + " New Value: " +newArrayList.get(x-1) + " Boolean: " + oldArrayList.contains(newArrayList.get(x-1)));[/li][li] // Check if the value has been changed in the new map-file[/li][li] if (!oldArrayList.contains(newArrayList.get(x-1))) {[/li][li] System.out.println("Wert unterschiedlich: " + newArrayList.get(x - 1));[/li][li] ((DefaultTableModel)jTable1.getModel()).addRow(new Object[]{newArrayList.get(x-2), newArrayList.get(x-1), newArrayList.get(x)});[/li][li] } [/li][li] } [/li][li] }[/li][li] }[/li][li] System.out.println(“OLD ARRAY LIST:”);[/li][li] for (String str : oldArrayList) {[/li][li] if (oldArrayList.size() % 3 == 0) {[/li][li] System.out.println(str);[/li][li] }[/li][li] }[/li][li] System.out.println(“NEW ARRAY LIST:”);[/li][li] for (String str : newArrayList) {[/li][li] if (newArrayList.size() % 3 == 0) {[/li][li] System.out.println(str);[/li][li] }[/li][li] }[/li][/ol]
[/FONT]
[/LEFT]
Und das ist meine Console:
ALL: Test1
Old Value: 0xFF New Value: 0xF0 Boolean: false
Wert unterschiedlich: 0xF0
ALL: Test2
Old Value: 0xF2 New Value: 0xF1 Boolean: true // sind doch unterschiedlich, sollte hier ein false schmeissen!
ALL: Test3
Old Value: 0xFF New Value: 0xF1 Boolean: true // hier auch und folgend
ALL: Test4
Old Value: 0xFF New Value: 0xF1 Boolean: true
ALL: Test5
Old Value: 0xF1 New Value: 0xFF Boolean: true
ALL: Test6
OLD ARRAY LIST:
0x0000
0xFF
Test1
0x0001
0xF2
Test2
0x0002
0xFF
Test3
0x0003
0xFF
Test4
0x0004
0xF1
Test5
NEW ARRAY LIST:
0x0000
0xF0
Test1
0x0001
0xF1
Test2
0x0002
0xF1
Test3
0x0003
0xF1
Test4
0x0004
0xFF
Test5
0x0005
0xF1
Test6
Wenn ich Jetzt jedoch in der alten Map-File auf z.B.
0x0004 0xFF Test5
setze. Dann gibt er mir alles richtig aus! HILFE?! :eek::twisted:
ALL: Test1
Old Value: 0xFF New Value: 0xF0 Boolean: false // alle ungleichen = false! Also korrekt!
Wert unterschiedlich: 0xF0
ALL: Test2
Old Value: 0xF2 New Value: 0xF1 Boolean: false
Wert unterschiedlich: 0xF1
ALL: Test3
Old Value: 0xFF New Value: 0xF1 Boolean: false
Wert unterschiedlich: 0xF1
ALL: Test4
Old Value: 0xFF New Value: 0xF1 Boolean: false
Wert unterschiedlich: 0xF1
ALL: Test5
Old Value: 0xFF New Value: 0xFF Boolean: true // Hier gleich daher true
ALL: Test6
OLD ARRAY LIST:
0x0000
0xFF
Test1
0x0001
0xF2
Test2
0x0002
0xFF
Test3
0x0003
0xFF
Test4
0x0004
0xFF
Test5
NEW ARRAY LIST:
0x0000
0xF0
Test1
0x0001
0xF1
Test2
0x0002
0xF1
Test3
0x0003
0xF1
Test4
0x0004
0xFF
Test5
0x0005
0xF1
Test6
Vielen Dank! :o)