class Test {
public static void main(String args[]) {
StringBuilder sb = new StringBuilder("123");
System.out.println(sb + "_"); //123_ // expected ouput
sb.setLength(2);
System.out.println(sb + "_"); //12_ // expected output
sb.setLength(3);
System.out.println(sb + "_"); //12 // no underscore ????
}
}
Я не понимаю, почему последний вывод этого Java-кода не содержит символ undercore. Может ли кто-нибудь объяснить? Спасибо за помощь.StringBuilder setLength()
Вы читали, что делает setLength? http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html#setLength%28int%29 –
Поскольку метод 'setLength()' добавил нулевой символ, то есть '\ u0000' –
Почему вы вызываете 'setLnegth', а затем добавляете? .. – Maroun