StringBuffer的length()和capacity()StringBuffer类和String类差不多,都是字符串类,只是StringBuffer在对字符串进行修改时不会生成新的对象,所以效率相对较高,占用空间也小。length()方法和capacity()方法都是获取StringBuffer的长度。length()返回字符串的实际长度;capacity()返回字符串所占容器的总大小。举例:可以看到:1.StringBuffer的的初始大小为(16+初始字符串长度)即capacity=16+初始字符串长度;2.一旦length大...
继续阅读 >
分类:stringbuffer
目录1.String/StringBuilder/StringBuffer区别1.1String1.2StringBuilder1.3StringBuffer2.String/StringBuilder/StringBuffer源码2.1String源码分析2.1.1String类2.1.2String类的属性2.1.3String类的构造函数2.1.4String类的常用方法2.2StringBuilder源码分析2.2.1StringBuilder类2.2.2StringBuilder类的属性2.2.3StringBuilder类中的构造方法2.2.4StringBuilder类中的方法append(Objectobj)方法2.3...
继续阅读 >
2021
05-26
05-26
Java基础之StringBuffer详解
一、前言StringBuffer是可变长的字符串1.append追加2.delete删除3.insert插入4.reverse反转二、用法Stringstr1="letthere";StringBuffersb=newStringBuffer(str1);//根据str1创建一个StringBuffer对象sb.append("belight");//在最后追加System.out.println(sb);sb.delete(4,10);//删除4-10之间的字符不包括4,包括10System.out.println(sb);sb.insert(4,"there");//在4这个位置插入there在4的位置后面插入...
继续阅读 >
2021
01-21
01-21
java中stringbuffer线程安全分析实例详解
在对于一些类作用于线程时,安全系数高的线程更推荐大家使用,在尽可能的程度上降低程序出错的可能性。对于本篇所要提到的StringBuffer而言,在其缓冲区中有多个线程的存在,我们在查询其内部方法时发现了锁的存在。现在我们就StringBuffer线程、锁的应用、线程安全分析逐步带来介绍。1.StringBuffer线程说明Java.lang.StringBuffer线程安全的可变字符序列。一个类似于String的字符串缓冲区,但不能修改。虽然在任意时间点上它都包...
继续阅读 >
StringBuilder、StringBuffer和String一样,都是用于存储字符串的。1、那既然有了String,为什么还需要他们两个呢?原因是String是不可变的,它每次的字符串拼接,实际上都会new一个新的String进行接收。2、谈谈StringBuilder、StringBuffer他们两个的联系:我们可以知道StringBuffer在1.0的时候就发布了,那为什么还需要StringBuilder呢?原因是它的大部分方法都上了锁,是线程安全的,导致了效率较低!而我们有...
继续阅读 >