ich würde mal vermuten ein neues „abc“, ein neues „abc“ ist.
[QUOTE=Noctarius;10948]Ich hab ne Vermutung aber ich wüsste nicht warum das passieren sollte. Weil man immer mit Sourcegrenzen und nicht mit Targetgrenzen kopiert (falls du weißt, was ich meine).
Immerhin wird das letzte try/catch auch nen Grund haben :D[/QUOTE]
Sprich deine Vermutung aus, auch wenn du nicht weißt warum. Ich vermute, dass du damit recht haben wirst .
jap :). Erklärung: Ein String wird intern als Char-Array vorgehalten. Außerdem gibt es zusätzlich intern noch einen offset und einen count. Der String-Inhalt wird also nicht über das gesamte Char-Array definiert, sondern über den offset und count. Ich habe aber nur die value, nicht aber den count manipuliert. Deshalb fliegt beim letzten try-catch eine ArrayIndexOutOfBoundsException.
Ein equals liefert kein true oder false zurück? Hab in den Quellcode von String und Integer geguckt. String.valueOf funktioniert tatellos und Integer.toString war mir jetzt so früh am Morgen zu komplex (mal was anderes: Warum ruft String.valueOf(int i) eigentlich Integer.toString(i, 10) auf, welches nach einer Überprüfung Integer.toString(i) aufruft? Wäre doch effizienter, wenn direkt Integer.toString(i) aufgerufen werden würde!?), wüsste aber nicht, warum es hier zu nem Fehler kommen sollte.