JDK1.5出现StringBuiler:构造一个其中不带字符的字符串生成器,初始容量为 16 个字符.该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍). 方法和StringBuffer一样: StringBuffer 和 StringBuilder 的区别: StringBuffer线程安全. StringBuilder线程不安全.   单线程操作,使用StringBuilder 效率高. 多线程操作,使用StringBuffer…
构造一个其中不带字符的字符串缓冲区,初始容量为 16 个字符. 特点: 1:可以对字符串内容进行修改. 2:是一个容器. 3:是可变长度的. 4:缓冲区中可以存储任意类型的数据. 5:最终需要变成字符串. 容器通常具备一些固定的方法: 1,添加. StringBuffer append(data):在缓冲区中追加数据.追加到尾部. StringBuffer insert(index,data):在指定位置插入数据. 2,删除. StringBuffer delete(start,end);删除从…
package cn.learn; /* 字符串缓冲区 -缓冲可提高效率 java.lang.StringBuilder 字符串的底层是一个被final修饰的数组,不能改变,是一个常量 private final byte[] value; 也就是说在字符串相加时,会生成多个字符串,占用空间效率低下 eg:String str = "a"+"b"+"c" 会有a,b,c,ab,abc五个字符串,jdk1.5以后用的是SttingBuilder.a…
一直以来,都是看到网上说“ StringBuilder是线程不安全的,但运行效率高:StringBuffer 是线程安全的,但运行效率低”,然后默默记住:一个是线程安全.一个线程不安全,但对内在原因并不了解.这两天终于下定决心看了下源代码,才深刻理解为啥一个线程安全.一个非线程安全. 一名话总结:java.lang.StringBuilder 与 java.lang.StringBuffer 同是继承于 java.lang.AbstractStringBuilder,具体在功能实现大多在 Abs…
java.lang.String & java.lang.StringBuilder String 成员方法 作用 public charAr(int index) 返回给定位置的代码单元 public codePointAt(int index) 返回给定位置的码点 int compareTo(String other) 根据字典序,如果this在other前,返回正数,在后返回负数,相等返回0;和常量比较时,应该把常量写在前面,防止空指针异常 boolean equals(String ot…
ylbtech-Java-Class-FC:java.lang.StringBuilder 1.返回顶部   2.返回顶部 1. @Override public String toString() { final StringBuilder sb = new StringBuilder("PageInfo{"); sb.append("pageNum=").append(pageNum); sb.append(", pageSize=").ap…
JDK1.5出现StringBuiler:构造一个其中不带字符的字符串生成器,初始容量为 16 个字符.该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍). 方法和StringBuffer一样: StringBuffer 和 StringBuilder 的区别: StringBuffer线程安全. StringBuilder线程不安全.   单线程操作,使用StringBuilder 效率高. 多线程操作,使用StringBuffer…
StringBuilder是一个可变序列的字符数组对象,它继承自AbstractStringBuilder抽象类.它不保证同步,设计出来的目的是当这个字符串缓存只有单线程使用的时候,取代StringBuffer的.建议使用它而不是StringBuffer,因为它的速度更快. StringBuilder有自己的容量(字符数组),当容量还没有被占满的时候,不必申请新的空间,当容量被占满后,它会自动地扩容. public final class StringBuilder extends Abstra…
java中用String类进行描述.对字符串进行了对象的封装.这样的好处是可以对字符串这种常见数据进行方便的操作.对象封装后,可以定义N多属性和行为. 如何定义字符串对象呢?String s = "abc";只要是双引号引起的数据都是字符串对象. 特点:字符串一旦被初始化,就不可以被改变,存放在方法区中的常量池中. ------------------------------------------------------ String s1 = "abc"; //…
这两个类都是继承自AbstractStringBuilder,AbstractStringBuilder有两个成员属性 char[] value; int count; 前者用于存储字符串,后者用于统计实际使用了多少位,也就是实际存入字符串长度.当new一个StringBuilder或者StringBuffer的时候,默认capacity为16,也即声明出一个16大小的字符数组,此时count=0,value.length=16. public StringBuilder() // 初始char…