栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

StringBuffer 使用注意点

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

StringBuffer 使用注意点

public class StartApplication
{
    public static void main(String[] args)
    {
        String str=null;
        StringBuffer stringBuffer=new StringBuffer();
        stringBuffer.append(str);
        System.out.println("stringBuffer:"+stringBuffer);//"null"
        System.out.println("stringBuffer.length():"+stringBuffer.length());//4

        StringBuffer stringBuffer1=new StringBuffer(str);//运行时报错
        System.out.println("stringBuffer1"+stringBuffer1);

    }
}

结果:
stringBuffer:null
Exception in thread "main" java.lang.NullPointerException
stringBuffer.length():4
    at java.lang.StringBuffer.(StringBuffer.java:139)
    at com.gsafety.StartApplication.main(StartApplication.java:16)
 

原因:

以下为jdk源码

private AbstractStringBuilder appendNull() {
    int c = count;
    ensureCapacityInternal(c + 4);
    final char[] value = this.value;
    value[c++] = 'n';
    value[c++] = 'u';
    value[c++] = 'l';
    value[c++] = 'l';
    count = c;
    return this;
}
public StringBuffer(String str) {
    super(str.length() + 16);
    append(str);
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/874723.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号