String、StringBuffer、StringBuilder区别
2016-12-10 11:36
323 查看
一StringStringBufferStringBuilder区别
二 String类
创建String类的对象的两种方式
1 获取方法
2 判断方法
3 转换方法
三 StringBuffer
1 添加方法
2 查看
四 StringBuilder
new关键字法
由于String是不可变的,所以导致String对象泛滥,在频繁改变字符串对象的应用中,需要使用可变的字符串缓冲区类。
特点:
默认缓冲区的容量是16。
StringBuffer : 线程安全的所有的缓冲区操作方法都是同步的。效率很低。
###3.3 修改(U)
二 String类
创建String类的对象的两种方式
1 获取方法
2 判断方法
3 转换方法
三 StringBuffer
1 添加方法
2 查看
四 StringBuilder
一、String、StringBuffer、StringBuilder区别
StringBuffer、StringBuilder和String一样,也用来代表字符串。String类是不可变类,任何对String的改变都会引发新的String对象的生成;StringBuffer则是可变类,任何对它所指代的字符串的改变都不会产生新的对象。既然可变和不可变都有了,为何还有一个StringBuilder呢?相信初期的你,在进行append时,一般都会选择StringBuffer吧!先说一下集合的故事,HashTable是线程安全的,很多方法都是synchronized方法,而HashMap不是线程安全的,但其在单线程程序中的性能比HashTable要高。StringBuffer和StringBuilder类的区别也是如此,他们的原理和操作基本相同,区别在于StringBufferd支持并发操作,线性安全的,适 合多线程中使用。StringBuilder不支持并发操作,线性不安全的,不适合多线程中使用。新引入的StringBuilder类不是线程安全的,但其在单线程中的性能比StringBuffer高。二、 String类
String类描述的是文本字符串序列。 留言 QQ 写日志。创建String类的对象的两种方式:
“”直接赋值法new关键字法
2.1 获取方法
> int length() 获取字符串的长度 char charAt(int index) 获取特定位置的字符 (角标越界) > int indexOf(String str) 获取特定字符的位置(overload) > int lastIndexOf(int ch) 获取最后一个字符的位置
2.2 判断方法
> boolean endsWith(String str) 是否以指定字符结束 > boolean isEmpty()是否长度为0 如:“”null V1.6 > boolean contains(CharSequences) 是否包含指定序列 应用:搜索 > boolean equals(Object anObject) 是否相等 > boolean equalsIgnoreCase(String anotherString) 忽略大小写是否相等
2.3 转换方法
> String(char[] value) 将字符数组转换为字符串 > String(char[] value, int offset, intcount) > static String valueOf(char[]data, int offset, int count) > char[] toCharArray() 将字符串转换为字符数组
三、 StringBuffer
StringBuffer :由于String是不可变的,所以导致String对象泛滥,在频繁改变字符串对象的应用中,需要使用可变的字符串缓冲区类。
特点:
默认缓冲区的容量是16。
StringBuffer : 线程安全的所有的缓冲区操作方法都是同步的。效率很低。
3.1 添加方法
StringBuffer("jack") 在创建对象的时候赋值 append() 在缓冲区的尾部添加新的文本对象 insert() 在指定的下标位置添加新的文本对象 StringBuffer sb = new StringBuffer("jack"); sb.append(true); sb.append('a'); sb.append(97).append(34.0).append(new char[]{'o','o'}); // 链式编程 System.out.println( sb.toString() ); // 输出缓冲区的中文本数据 sb = new StringBuffer("jack"); sb.insert( 2, "java" ); // jajavack System.out.println( sb.toString() );
3.2 查看
toString() 返回这个容器的字符串 indexOf(String str) 返回第一次出现的指定子字符串在该字符串中的索引。 substring(int start) 从开始的位置开始截取字符串
###3.3 修改(U)
replace(int start int endString str) 使用给定 String 中的字符替换此序列的子字符串中的字符。该子字符串从指定的 start 处开始,一直到索引 end - 1 处的字符 setCharAt(int index char ch) 指定索引位置替换一个字符
四、 StringBuilder
StringBuilder 是JDK1.5之后提出的,线程不安全,但是效率要高。用法与StringBuffer类似。相关文章推荐
- String、StringBuffer和StringBuilder的区别
- String、StringBuffer和StringBuilder 区别
- String, StringBuffer, StringBuilder的区别?
- String、StringBuffer与StringBuilder之间区别
- String StringBuffer和StringBuilder的区别?
- String,StringBuffer,StringBuilder的区别
- Java 中的字符串类String、StringBuffer、StringBuilder的区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String ,StringBuffer ,StringBuilder 的主要区别
- String 和StringBuffer,StringBuilder的区别(转)
- JAVA中String与StringBuffer 、StringBuilder的区别
- String、StringBuilder和StringBuffer的区别
- String StringBuffer和StringBuilder的区别?
- stringbuilder stringbuffer 与String的区别
- Java 中的字符串类String、StringBuffer、StringBuilder的区别
- String,StringBuffer与StringBuilder的区别??
- String, StringBuffer, StringBuilder区别
- String、StringBuilder和StringBuffer的区别