A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© falonsokaka914 中级黑马   /  2014-10-20 20:44  /  1173 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我在听毕老师的视频的时候StringBuffer的默认构造器长度是16个字节,如果我想存17个元素的话? 默认构造器长度是16*2+2 还是16*2? 毕老师说的是16*2 ,我们老师讲的是16*2+2, 我想问一下,这两个哪个比较准确一些?

评分

参与人数 1黑马币 +1 收起 理由
杨佳名 + 1

查看全部评分

6 个回复

倒序浏览
好刁钻的问题
回复 使用道具 举报
google 最知道。
回复 使用道具 举报
SCR里这么写的 super(str.length() + 16);
+16
  1. /**
  2.      * Constructs a string buffer initialized to the contents of the
  3.      * specified string. The initial capacity of the string buffer is
  4.      * {@code 16} plus the length of the string argument.
  5.      *
  6.      * @param   str   the initial contents of the buffer.
  7.      */
  8.     public StringBuffer(String str) {
  9.         super(str.length() + 16);
  10.         append(str);
  11.     }

  12.     /**
复制代码

回复 使用道具 举报
最准确的是16*2+2,不过一般只考虑16*2就行了,那两个可以忽略。
回复 使用道具 举报
首先先谢谢各位的讲解, 我想弄清楚里面的原理,有没有大神给我解答一下,谢谢
回复 使用道具 举报
我也想知道这个问题.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马