StringBuilder是使用char[] value;存储数据的

@Override

public int length() {

return count;

}

AbstractStringBuilder(int capacity) {

value = new char[capacity];

}

长度表示的是字符的个数,容量表示的是可用于最新插入字符的存储量。

例如:

StringBuilder sb=new StringBuilder();

sb.append("666");

sb.setLength(2);

System.out.println(sb.length());//追加了长度为3的字符串,count=count+3,所以结果为3

System.out.println(sb.capacity());//调用父类构造器super(16);即是new char[16],所以结果16

String s=sb.toString();

System.out.println(s);

public void setLength(int newLength) {

if (newLength < 0)

throw new StringIndexOutOfBoundsException(newLength);

ensureCapacityInternal(newLength);

if (count < newLength) {

Arrays.fill(value, count, newLength, '\0');

}

count = newLength;

}

执行sb.setLength(2);char[]数组内容没有变化,下标0,1,2还是存储6,6,6

就是把count值设置为2而已,下面调用toString();方法重新构造一个String对象,char数组存储6,6

如果设置sb.setLength(4);构造新的String对象,最后一个补上'0'。

string容量JAVA_java的StringBuilder类的长度和容量有什么区别呢?相关推荐

  1. Java String、StringBuffer、StringBuilder类解析

    String.StringBuffer.StringBuilder类解析 概述 String类:代表字符串. 特点 String实现了Serializable接口,表示String是可序列化的 实现了 ...

  2. String、StringBuffer、StringBuilder类

    String.StringBuffer.StringBuilder类:java提供了string.stringbuffer两个类来封装字符串,并提供了一系列方法来操作字符串对象. String类是不可 ...

  3. 20191001:String,StringBuffer,StringBuilder类异同辨析

    String,StringBuffer,StringBuilder类异同辨析 框架 String对象的建立方法及底层 StringBuffer与String的区别 StringBuilder与Stri ...

  4. 深入理解String、StringBuffer和StringBuilder类的区别

    Java提供了String.StringBuffer和StringBuilder类来封装字符串,并提供了一系列操作字符串对象的方法. 它们的相同点是都用来封装字符串:都实现了CharSequence接 ...

  5. String、StringBuffer与StringBuilder类详解

    目录 一.String简介: 二.String的创建方式: 面试题一:String s = new String("abc");方式创建对象,在内存中创建了几个对象? 四.一个笔试 ...

  6. 1.19 String、StringBuffer和StringBuilder类的区别

    在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串.String 类是不可变类,即一旦一个 String 对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至 ...

  7. Java基础知识(JAVA中String、StringBuffer、StringBuilder类的区别)

    java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题.现在总结一下,看看他们的不同与相同. 1.可变与不可 ...

  8. String、StringBuffer、StringBuilder介绍

    文章目录 String 源码分析 继承关系 CharSequence 底层数据结构 常用构造器: 无参构造器 入参为String类型 入参为char数组类型 入参为StringBuffer: 入参为S ...

  9. stringbuffer的最大长度_Java中的String、StringBuffer和StringBuilder

    作为作为一个已经入了门的java程序猿,肯定对Java中的String.StringBuffer和StringBuilder都略有耳闻了,尤其是String 肯定是经常用的.但肯定你有一点很好奇,为什 ...

最新文章

  1. php display_errors
  2. 贝叶斯数据分析_科研进阶项目 | 剑桥大学 | 心理学、社会学、生物医学:统计数据分析(6.13开课)...
  3. CRectTracker类的使用
  4. python自动化办公模块有哪些-python常见的命令行交互自动化模块有哪些
  5. 【MySQL必知必会】第十章 创建计算字段
  6. ABIs [armeabi] are not supported for platform. Supported ABIs are [arm64-v8a, armeabi......
  7. jmeter压力测试+badboy脚本录制
  8. C4D插件X-Particles粒子特效(六)
  9. Cardhop for Mac(通讯录管理软件)
  10. 本地视频做成html网页,使用HTML和JavaScript播放本地的媒体(视频音频)文件的方法...
  11. HTTP和HTTPS、GET和POST
  12. 深入浅出聊机器学习西瓜书
  13. 兴华苑社区关爱空巢老人社会实践
  14. 基于深度学习的场景分类算法
  15. DDOS攻击/防御介绍
  16. python画小猪佩奇、星星
  17. EasyRTC实现基于WebRTC技术实现的即时通信类应用
  18. YOLOv1的loss函数
  19. hp刀片服务器重装,HP刀片服务器安装系统教程b280c.doc
  20. pandas 转换为文本类型_将文本文件转换为pandas datafram

热门文章

  1. 前端学习(1316):静态资源
  2. 前端学习(869):高级事件导读
  3. 前端学习(652):运算符导读
  4. mybatis学习(45):开启二级缓存
  5. 第十三题:子类要调用继承自父类的方法,必须使用super关键字。
  6. spring mvc学习(26):处理数据模型--从表单到controller传输数据
  7. PHP在金山游戏运营中的应用
  8. storm简介(大数据技术)
  9. linux下GPRS模块ppp拨号上网
  10. js计算数组中每个元素出现的次数(2种方法)