StringBuffer中的容量函数


解析:A

length 返回当前长度

如果字符串长度没有初始化长度大,capacity返回初始化的长度
如果append后的字符串长度超过初始化长度,capacity返回增长后的长度
PS:
StringBuffer和StringBuilder的默认大小为16
ArrayList和LinkedList的默认大小10


StringBuffer s = new StringBuffer(x);  x为初始化容量长度
s.append("Y"); "Y"表示长度为y的字符串
length始终返回当前长度即y;
对于s.capacity():
1.当y<x时,值为x
以下情况,容器容量需要扩展
2.当x<y<2*x+2时,值为 2*x+2
3.当y>2*x+2时,值为y

示例代码:
public static void main(String [] args){
        StringBuffer s1=new StringBuffer(10);
        s1.append("1234");
        System.out.println(s1.length());
        System.out.println(s1.capacity());

        StringBuffer s2=new StringBuffer(2);
        s2.append("012");
        System.out.println(s2.capacity());

        StringBuffer s3=new StringBuffer(2);
        s3.append("0123456");
        System.out.println(s3.capacity());


    }
输出结果为:

4
10
6
7

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值