关于StringBuffe()长度和初始化长度的问题归纳
晚上做一个习题,发现了一个关于StringBuffer()长度的问题
根据理解大致可以归为以下知识。
直接上代码分析吧
public class StringBuffer_length_capacity {
public static void main(String[] args) {
//注意StringBuffer默认长度为16
StringBuffer s1 = new StringBuffer(1);
//取值为1,初始化长度4 取值为2,初始化长度6, 取值为3,初始化长度为8,取值为4,初始化长度为
//若StringBuffer中设置的长度小于我们的字符串长度,此时容器需要扩容,
s1.append("12345");
System.out.println("长度:"+s1.length());
System.out.println("初始化长度:"+s1.capacity());
}
}
假设我们的StringBuffer初始默认长度为x,我们所给的字符串长度为y
则可得,我们的s1.length返回的长度为x
当涉及到capacity()时候,我们需要判断
首先1.当y<=x时:capacity取值为x
2.当y>x时:此时我们的容器需要发生扩容
a.如果y>2*x+2,此时s1.capacity() = s1.length();
b.如果y≤2*x+2,可以得到此时s1.capacity = 2*x+2
tips:StringBuffer和StringBuilder在没有初始化长度的时候,长度为16
继续学习,js还要加油学习!!!自勉~
关于StringBuffe()长度和初始化长度的问题归纳的更多相关文章
- SA密钥长度、明文长度和密文长度
本文介绍RSA加解密中必须考虑到的密钥长度.明文长度和密文长度问题,对第一次接触RSA的开发人员来说,RSA算是比较复杂的算法,RSA的复杂度是因为数学家把效率和安全也考虑进去的缘故. 本文先只谈密钥 ...
- css控制文字长度,超出长度显示...
css控制文字长度,超出长度显示... .style { max-width: 165px; overflow: hidden; white-space: nowrap; text-overflow: ...
- 限制标题字符串的长度,超过长度的截取并加上"..."
/// <summary> /// 限制标题字符串的长度,超过长度的截取并加上"..." /// </summary> /// <param name ...
- EF 数据类型 0xA7 的数据长度或元数据长度无效
测试方法 TestProject1.SysTest.HtmlAnalysisTest12 引发异常: System.Data.UpdateException: 更新项时出错.有关详细信息,请参阅“I ...
- 【密码学】RSA密钥长度、明文长度和密文长度
本文介绍RSA加解密中必须考虑到的密钥长度.明文长度和密文长度问题,对第一次接触RSA的开发人员来说,RSA算是比较复杂的算法,天缘以后还会补充几篇RSA基础知识专题文章,用最简单最通俗的语言描述RS ...
- java String长度与varchar长度匹配理解(字符和字节长度理解)
java String长度与varchar长度匹配理解(字符和字节长度理解) string中的length()长度,返回的是char的数量,每个char可以存储世界上任何类型的文字和字符,一个char ...
- NX二次开发-将3X3矩阵修正为正交且长度为单位长度的矩阵
函数:UF_MTX3_ortho_normalize() 函数说明:将矩阵修正为正交且xyz长度为单位长度的矩阵.下图中输入的矩阵为三条线段的端点,经过修正后,生成一个坐标系. 1 #include ...
- 【jdk源码分析】jdk8的ArrayList初始化长度为0
先看结果 用的是反射获取elementData底层数组的长度 查看源码 无参构造函数没有了this.size = 10; 图1 图2 图3 图4 java的基本数据类型默认值 所以无参构造时长度为0 ...
- 字符串的sizeof长度及strlen长度
在C/C++中,字符串是以零('\0')结尾的.比如,对于下面的字符串: "hello" 在最后一个字符'd'后面,还有一个我们肉眼看不见的'\0'字符,作为该字符串的结束符.所 ...
随机推荐
- Oracle to_char的用法
The following are number examples for the to_char function. to_char(1210.73, '9999.9') would return ...
- php pdo prepare真的安全吗
详见 这里 Let's say I have code like this: $dbh = new PDO("blahblah"); $stmt = $dbh->prepar ...
- QuantLib 金融计算——数学工具之数值积分
目录 QuantLib 金融计算--数学工具之数值积分 概述 常见积分方法 高斯积分 如果未做特别说明,文中的程序都是 Python3 代码. QuantLib 金融计算--数学工具之数值积分 载入模 ...
- MyBatis学习笔记(一)创建第一个MyBatis项目
一.新建Maven项目 http://www.mybatis.org/mybatis-3/zh/index.html 该链接为MyBatis官方地址 创建MyBatis项目主要有两种办法,一种是导入j ...
- dubbo学习笔记:快速搭建
搭建一个简单的dubbo服务 参考地址: dubbo官网:http://dubbo.apache.org/zh-cn/docs/user/references/registry/zookeeper.h ...
- win10 压缩包安装mysql8.0.11报错:Access denied for user 'root'@'localhost'
按这篇:https://blog.csdn.net/Myuhua/article/details/84792121#commentsedit 这里精简下,还有update语句中authenticati ...
- C#二进制位算 权限
关于权限管理,之前所做的都是一个权限对应一条数据,比方A页面有增删改查四个权限,那么用户在权限管理表中相对应AA页面有四条记录.后来改用二进制运算,发现省事很多. 首先说下位运算 熟悉一下操作符,懒得 ...
- 在MVC程序中使用MongoDB数据库
.net项目中混搭数据库 安装和部署 C#中使用MongoDB MongoDb与关系型数据库区别 开机自启动 关系型数据库和非关系型数据口可以混搭 MongoDB是一个高性能,开源,无模式的,基于分布 ...
- sql在insert时判断有无唯一性冲突
sql在insert时判断有无唯一性冲突,存在相同主键或唯一索引,则不创建 INSERT INTO table(field1, field2, fieldn) SELECT 'field1', 'fi ...
- JavaScript设计模式-22.观察者模式
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...