nam*_*ked 5 java null stringbuilder
当NULL对象附加到实例时,我无法理解StringBuilder的以下行为:
public class StringBufferTest {
/**
* @param args
*/
public static void main(String[] args) {
String nullOb = null;
StringBuilder lsb = new StringBuilder();
lsb.append("Hello World");
System.out.println("Length is: " + lsb.length());// Prints 11. Correct
lsb.setLength(0);
System.out.println("Before assigning null" + lsb.length());
lsb.append(nullOb);
System.out.println("Length now is:" + lsb.length()); // Prints 4. ???
}
}
Run Code Online (Sandbox Code Playgroud)
最后一个打印语句不打印0.任何人都可以帮我理解行为吗?
来自StringBuffer API -
http://download.oracle.com/javase/1.5.0/docs/api/java/lang/StringBuffer.html#append(java.lang.String)
String参数的字符按顺序附加,按参数的长度增加此序列的长度.如果str为null,则附加四个字符"null".
这应该将长度解释为4.
| 归档时间: |
|
| 查看次数: |
12652 次 |
| 最近记录: |