Ich verwende diesen Code undjava Druck char-Array
char[] str = { 'a', 'b', 'c', 0, 'c', 'c', 'f' };
System.out.print(str);
System.out.println(" adksjfhak");
Diese Drucke nur "abc". während
char[] str = { 'a', 'b', 'c', 0, 'c', 'c', 'f' };
System.out.print(str);
System.out.println("\n adksjfhak");
druckt
abc
adksjfhak
Warum Druckpuffer Stopp bei null (0) Zeichen? Bedeutet das, dass Java einfach nur Zeichen an Puffer anlegt und diesen Puffer druckt? Und da dieser Puffer 0 dazwischen hat, verwirft er natürlich den Rest der Kette.
Wahrscheinlich habe ich einen Teil meiner eigenen Frage beantwortet. Aber ich würde gerne mehr Details darüber wissen. Hows JVM behandelt das? Wo ist dieser Ausgabepuffer? Und jeden Grund, um 0 zu stoppen? Warum wird das Hinzufügen von \ n dieses Verhalten auch stoppen?
Edit 1: Verwendung von JDK 1.7, Eclipse-3.8.1 und Ubuntu 13.10
Edit 2: Merkwürdigerweise tut dieses nicht das Problem haben. https://ideone.com/VwFbRr
Bearbeiten 3: lief ich das gleiche auf der Kommandozeile
[bin]$ java com.sakura.C
abcccf adksjfhak
Das funktioniert gut für mich (JDK 1.7) – Christian
@Christian du meinst im ersten Fall, erhalten Sie sowohl abc und adksjfhak? – sakura
Beziehungsweise, ich drucke 'abc ccf adksjfhak' und' abc ccf \ n adksjfhak' für mich aus. Ich bin mir nicht sicher, was das Problem ist. – Matthew