*Markus: Kuriosität mit Inkrementierung

Beitrag lesen

Hallo,

ich bin auf ein seltsames Problem gestoßen, das ich mir nicht erklären kann. Ich habe folgende Schleife bei der "Konten" mithilfe des übergebenen Index aus einer "KontoVerwaltung" gelöscht werden können:

  
     public boolean loeschen(int index)    {  
          if (index >= 0 && index < anzahl)    {  
             int i = index;  
             while (i < anzahl)    {  
                 konten[i++] = konten[i+1];  
             }  
             konten[i] = null;  
             anzahl--;  
             return true;  
          }  
          return false;  
     }  

Der Teil in der while-Schleife liefert eine NullPointerException aufgrund der Inkrementierung innerhalb der eckigen Klammern. Inkrementiere ich i außerhalb der Klammer, funktioniert es.
Kann sich das jemand erklären?
Komischerweise würde auch ++i funktionieren, woraufhin die Funktion aber ein verständlicherweise falsches Ergebnis liefert.

Markus.

--
http://www.apostrophitis.at
Maschiene währe Standart Gallerie vorraus Packete Objeckte tollerant vieleicht Strucktur