公共类TestMyStringBuilderII {的StringBuilder()与StringBuilder的(空)VS的StringBuilder( “”)
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("Hello");
StringBuilder sb1 = new StringBuilder("World");
StringBuilder sb2 = new StringBuilder();
//StringBuilder sb3 = new StringBuilder(null);
StringBuilder sb4 = new StringBuilder("");
System.out.println(sb);
System.out.println(sb.length());
System.out.println(sb.append(sb1));
System.out.println(sb.append(sb2));
//System.out.println(sb.append(sb3));
}
}
的SB3 =新的StringBuilder(空)导致的NullPointerException。现在,StringBuilder(),StringBuilder(“”)和StringBuilder(null)有什么区别?
a)System.out.println(sb2);当需要追加实际字符(“null”)(根据AbstaractStringClass定义)时,打印空白空间 - 为什么?
b)System.out.println(sb2.length());打印0,所以这是因为sb不是真的“空”(意思是某件东西/长度为零的东西?)
c)System.out.println(sb4);正在打印空白空间和System.out.println(sb4.length());打印0(假设sb4实际上是String,因为用于参数的双引号,但是长度为零) - 正确吗?
不知道这个问题是否能正确的表达出来,但是如果有人能够理解我的想法/困惑并澄清这些,我将不胜感激。
完美,下面是有意义的全部四个答案。谢谢所有 –