Java中,一个capacity方法问题,
答案:3 悬赏:30 手机版
解决时间 2021-02-16 05:22
- 提问者网友:送舟行
- 2021-02-15 12:51
Java中,一个capacity方法问题,
最佳答案
- 五星知识达人网友:往事隔山水
- 2021-02-15 13:18
capacity()返回的是字符串缓冲区的容量
StringBuffer( );
StringBuffer( int len );
StringBuffer( String s );
你的StringBuffer是用字符构造的,"abc"的长度是3另外再分配16个字符,所以一共是19。
StringBuffer( );
StringBuffer( int len );
StringBuffer( String s );
你的StringBuffer是用字符构造的,"abc"的长度是3另外再分配16个字符,所以一共是19。
全部回答
- 1楼网友:怙棘
- 2021-02-15 16:05
金陵书生顾洪家境贫困,以卖字画为生,与母相依为命。
- 2楼网友:长青诗
- 2021-02-15 14:44
初始化的16个字符空间,若果不够用就会自动扩容,capacity()返回StringBuffer的容量
扩容的源代码:#
# void expandCapacity(int minimumCapacity) {
# int newCapacity = (value.length + 1) * 2;
# if (newCapacity < 0) {
# newCapacity = Integer.MAX_VALUE;
# } else if (minimumCapacity > newCapacity) {
# newCapacity = minimumCapacity;
# }
# char newValue[] = new char[newCapacity];
# System.arraycopy(value, 0, newValue, 0, count);
# value = newValue;
# }
扩容的源代码:#
# void expandCapacity(int minimumCapacity) {
# int newCapacity = (value.length + 1) * 2;
# if (newCapacity < 0) {
# newCapacity = Integer.MAX_VALUE;
# } else if (minimumCapacity > newCapacity) {
# newCapacity = minimumCapacity;
# }
# char newValue[] = new char[newCapacity];
# System.arraycopy(value, 0, newValue, 0, count);
# value = newValue;
# }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯