string容量JAVA_java的StringBuilder类的长度和容量有什么区别呢?
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类的长度和容量有什么区别呢?相关推荐
- Java String、StringBuffer、StringBuilder类解析
String.StringBuffer.StringBuilder类解析 概述 String类:代表字符串. 特点 String实现了Serializable接口,表示String是可序列化的 实现了 ...
- String、StringBuffer、StringBuilder类
String.StringBuffer.StringBuilder类:java提供了string.stringbuffer两个类来封装字符串,并提供了一系列方法来操作字符串对象. String类是不可 ...
- 20191001:String,StringBuffer,StringBuilder类异同辨析
String,StringBuffer,StringBuilder类异同辨析 框架 String对象的建立方法及底层 StringBuffer与String的区别 StringBuilder与Stri ...
- 深入理解String、StringBuffer和StringBuilder类的区别
Java提供了String.StringBuffer和StringBuilder类来封装字符串,并提供了一系列操作字符串对象的方法. 它们的相同点是都用来封装字符串:都实现了CharSequence接 ...
- String、StringBuffer与StringBuilder类详解
目录 一.String简介: 二.String的创建方式: 面试题一:String s = new String("abc");方式创建对象,在内存中创建了几个对象? 四.一个笔试 ...
- 1.19 String、StringBuffer和StringBuilder类的区别
在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串.String 类是不可变类,即一旦一个 String 对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至 ...
- Java基础知识(JAVA中String、StringBuffer、StringBuilder类的区别)
java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题.现在总结一下,看看他们的不同与相同. 1.可变与不可 ...
- String、StringBuffer、StringBuilder介绍
文章目录 String 源码分析 继承关系 CharSequence 底层数据结构 常用构造器: 无参构造器 入参为String类型 入参为char数组类型 入参为StringBuffer: 入参为S ...
- stringbuffer的最大长度_Java中的String、StringBuffer和StringBuilder
作为作为一个已经入了门的java程序猿,肯定对Java中的String.StringBuffer和StringBuilder都略有耳闻了,尤其是String 肯定是经常用的.但肯定你有一点很好奇,为什 ...
最新文章
- php display_errors
- 贝叶斯数据分析_科研进阶项目 | 剑桥大学 | 心理学、社会学、生物医学:统计数据分析(6.13开课)...
- CRectTracker类的使用
- python自动化办公模块有哪些-python常见的命令行交互自动化模块有哪些
- 【MySQL必知必会】第十章 创建计算字段
- ABIs [armeabi] are not supported for platform. Supported ABIs are [arm64-v8a, armeabi......
- jmeter压力测试+badboy脚本录制
- C4D插件X-Particles粒子特效(六)
- Cardhop for Mac(通讯录管理软件)
- 本地视频做成html网页,使用HTML和JavaScript播放本地的媒体(视频音频)文件的方法...
- HTTP和HTTPS、GET和POST
- 深入浅出聊机器学习西瓜书
- 兴华苑社区关爱空巢老人社会实践
- 基于深度学习的场景分类算法
- DDOS攻击/防御介绍
- python画小猪佩奇、星星
- EasyRTC实现基于WebRTC技术实现的即时通信类应用
- YOLOv1的loss函数
- hp刀片服务器重装,HP刀片服务器安装系统教程b280c.doc
- pandas 转换为文本类型_将文本文件转换为pandas datafram