首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StringBuilder() vs StringBuilder(null) vs StringBuilder("")

StringBuilder() vs StringBuilder(null) vs StringBuilder("")
EN

Stack Overflow用户
提问于 2016-01-21 15:58:54
回答 4查看 2K关注 0票数 1

公共类TestMyStringBuilderII {

代码语言:javascript
复制
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(null)结果为NullPointerException。现在,StringBuilder()、StringBuilder("")和StringBuilder(null)之间的区别是什么?

a) System.out.println(sb2);当实际字符("null")被附加(根据AbstaractStringClass定义)时,打印是否为空格-为什么?

b) System.out.println(sb2.length());打印的是0,这是不是因为sb不是真正的"null“(意思是它是长度为0的某种东西/类型?)

c) System.out.println( sb4 );是否打印空格和长度(sb4.length());打印0(清楚地假设sb4实际上是字符串,因为参数使用了双引号,但长度为零)-正确吗?

我不确定这个问题的表述是否正确,但如果有人能理解我的想法/困惑并澄清一下,我将不胜感激。

EN

回答 4

Stack Overflow用户

发布于 2016-01-21 16:09:20

对于new StringBuilder().append("abc")来说,new StringBuilder("abc")是一个方便的重载,除了javadoc说:

字符串构建器的初始容量是16 加上字符串参数的长度。

这是为了创建一个更大的初始支持数组,以提高性能,尽管这可能是微不足道的。

由于不能获取空值的长度,因此得到的是NullPointerException

票数 4
EN

Stack Overflow用户

发布于 2016-01-21 16:08:25

new StringBuilder()new StringBuilder("")是等效的;它们都创建一个空的StringBuilder,没有任何内容,在任何意义上都不是包含nullStringBuilder。我相信这回答了你的三个问题。

票数 2
EN

Stack Overflow用户

发布于 2016-01-21 16:17:57

StringBuilder()和StringBuilder("")也在做同样的事情。

StringBuilder()只调用super( 16 ),初始化一个长度为16的字符数组,而StringBuilder( "“)将”“的长度加到16,然后调用super,如下所示: super(str.length() + 16)。因此这两个函数都会返回一个初始化StringBuilder对象。

由于super(null.length() + 16),StringBuilder(null)崩溃

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34918237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档