Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hatte hier einen Post gesendet: http://www.java-forum.org/de/viewtopic.php?p=140077#140077. Dummerweise wurde mein Post gesperrt. Habe ich etwas verpasst - ist eine neue Regelung eingetretten in diesem Forum??? Darf ich etwa keine blöden Fragen mehr stellen? Wenn man meine Posts sperrt, so sagt mir doch bitte bescheid, da es so nicht sein kann!! Nochmal zum Problem. Nun habe ich herausgefunden, dass "==" und equals sich drastisch von einander unterscheiden. Bleibt aber noch eine Frage. Wie kann ich überprüfen, ob mein Objekt auch tatsächlich gelöscht wurde:
Code:
public void removePerson(String id)
{
Person person;
try
{
for(ListIterator it = verw.listIterator();it.hasNext();)
{
person=(Person)it.next();
if(person.getPersonennummer().equals(id))
{
System.out.println("Löschen von "+person.getName()+", "+person.getVorname()+"...");
verw.remove(person);
if(person.equals(null))
{
System.out.println("erfolgreich.");
}
else {
System.out.println("gescheitert.");
}
}
}
}
catch(Exception e){
System.out.println(e);
}
}
Habe versucht die Referenz auf null abzufragen, aber weiß nicht, ob das etwas bringt...
wird, sofern dus nicht überschrieben hast, eine NPE werfen...
Zudem hat es keinen Sinn, da die Ref. auf Person ja noch existiert.
verw.remove(person);
reicht völlig aus...Kannst ja eventuell mit einem contains oder so checken obs auch wirklich gelöscht ist. (Aus meiner Sicht aber sinnlos)...
Du wirst aber eine ConcurrentModificationExceptioon erhalten, wenn dus während einer Iteration weglöscht...
Du hast recht, ich bekomme folgende Fehlermeldung: Exception in thread "main" java.util.ConcurrentModificationException. Wie kann ich diese Fehlermeldung verhindern und dennoch das Objekt löschen. Tut mir leid, aber mir fällt leider nichts ein.
Dein Thread wurde gesperrt, weil die == / equals - Frage andauernd auftaucht, und die meisten hier denken, dass man mit etwas ausprobieren dieses Problem erkennt (und für was gibt es eine FAQ...)
Zu deinem aktuellen Problem: ruf "it.remove()" auf. Wenn du die Liste veränderst, auf die sich der Iterator bezieht, verwirrst du ihn mächtig... (das ist, wie wenn du auf einen Stuhl absitzen möchtest, der soeben gelöscht wurde).