Hallo Zusammen,
Bei folgendem Problem bräuchte ich eure Hilfe, denn ich kann mir das Ganze nicht erklären...
Zuerst jedoch zum Beginn des Ganzen:
1. Ich schreibe mehrere Objekte der Klasse "FileManagerReader" in eine ArrayList.
2. Die Methode getUID() gibt dabei die uID ( = Tag ID eines RFID Batches) als Long zurück.
3. Wenn ich eine spezifische uID aus der ArrayList entfernen möchte, nutze ich folgende Methode um den Index zu finden:
4. Die Ausgabe ist wie gefolgt:
5. Die if Methode müsste erfüllt werden (letzter Wert vor Fehler).
Nun die logische Frage, warum zum Teufel passiert dies nicht?
Ich würde mich freuen, wenn mir jemand bei diesem Problem helfen könnte und bedanke mich schon im Voraus.
Grüsse Tim
Ps. Evtl ist dies nicht die souveränste Lösung^^
Bei folgendem Problem bräuchte ich eure Hilfe, denn ich kann mir das Ganze nicht erklären...
Zuerst jedoch zum Beginn des Ganzen:
1. Ich schreibe mehrere Objekte der Klasse "FileManagerReader" in eine ArrayList.
2. Die Methode getUID() gibt dabei die uID ( = Tag ID eines RFID Batches) als Long zurück.
3. Wenn ich eine spezifische uID aus der ArrayList entfernen möchte, nutze ich folgende Methode um den Index zu finden:
Java:
int getIndexFromTagID(Long getReadId) {
int i = 0;
Long ruID = getReadId;
for (i = 0; i < afmr.size(); i++) {
System.out.println("-----------");
System.out.println(afmr.get(i).getUID() + " == " + ruID);
System.out.println("-----------");
if (ruID == afmr.get(i).getUID()) {
return i;
}
}
return 99;
}
4. Die Ausgabe ist wie gefolgt:
Bash:
RFID | Waiting...
-----------
905959482362 == 760067375887
-----------
-----------
843850294139 == 760067375887
-----------
-----------
946157757265 == 760067375887
-----------
-----------
157341283248 == 760067375887
-----------
-----------
760067375887 == 760067375887
-----------
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 99, Size: 5
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at main.FileManager.ManageUser(FileManager.java:68)
at main.Main.main(Main.java:253)
5. Die if Methode müsste erfüllt werden (letzter Wert vor Fehler).
Nun die logische Frage, warum zum Teufel passiert dies nicht?
Ich würde mich freuen, wenn mir jemand bei diesem Problem helfen könnte und bedanke mich schon im Voraus.
Grüsse Tim
Ps. Evtl ist dies nicht die souveränste Lösung^^