黑马程序员--String,StringBuffer,StringBuilder的描述
2012-12-18 01:12
288 查看
http://edu.csdn.net/heima android培训
http://edu.csdn.net/heima ; java培训期待与您交流!
一、String对象
1、String类的特点:
a、java语言中用于描述的最常见的字符串数据的对象。
b、字符串数据都是一个对象。
c、字符串数据一旦初始化就不可以被改变了。
d、字符串对象都存储在常量池中,字符串常量池。
2、创建字符串对象的两种方式(建议不要用new的方式来创建对象)
String s1 = "abcd";//这是在常量池中创建了一个字符串对象。
String s1 = new String("abcd");//先在常量池中创建一个对象,然后在堆内存中备份一份。
3、比较
==:基本数据类型比较。
equals:对象比较。
4、String对象中的方法。
其中构造方法有很多。
int length(): 获取字符串长度。
int indexOf(int ch): 获取指定字符的位置。
int indexOf(String str):返回指定字符串的位置。
char charAt(int index: 返回指定索引处的 char值。
String substring(int beginIndex, int endIndex):返回一个新字符串,它是此字符串的一个子字符串。
String substring(int beginIndex):返回一个新的字符串,它是此字符串的一个子字符串。
char[] toCharArray(): 将此字符串转换为一个新的字符数组。
String toUpperCase() : 将字符串转成大写。
String toLowerCase() : 将字符串中所有转成小写。
static String valueOf(all) :
返回参数的字符串表示形式。
String toString():返回此对象本身。
int lastIndexOf(int ch):
返回指定字符在此字符串中最后一次出现处的索引。
isEmpty() : 字符串长度为0时,返回true。
byte[] getBytes():将字符串转成字符数组。
二、StringBuffer字符串缓冲区。
1、特点:
a、缓冲区就是用来缓存数据的,意味着它是一个容器。
b 、该容器的长度是可变的。
c、提供了对容器中内容的操作方法。(四种:增删改查)
d、该缓冲区中可以添加多种类型的元素,基本类型和应用类型。
e、想要使用容器中的数据,必须使用toStirng方法返回字符串。
2、常用方法:需要查阅构造方法。
append()追加,返回的还是容器,可以连续添加。
toString() 返回的是一个字符串。
insert()在任意位置添加。
delete()删除指定。
delete(0,sb.length)清空缓冲区。
sb.replace()修改。
setCharAt()
reverse()将字符串倒过来打印。
注意:通常情况下容器的底层都封装了数组是可变长度数组。
三、StringBuilder容器。
1、StringBuilder概述:
a、jdk1.5版本才出现的。
b、功能和StringBuilder容器一模一样。
2、SringBuffer和StringBuidler区别。
a、StringBuidler不用判断同步锁,是线程不安全的,但效率高。
StringBuffer是线程安全的。
b、对容器而言,被多线程操作,容易出现安全问题。
因为一个线程负责添加,一个负责删除,因为线程随机性会出现安全问题。
每调用一次操作容器的方法,都会判断一次锁,所以效率比较低。
3、StringBuffer和数组容器的区别?
a、数组容器是固定长度的,容器是可变长度的。
b、数组容器一旦初始化就明确了元素类型。
StringBuffer可存储任意类型,包括基本,引用。
c、数组存储完元素可以通过角标来操作元素。
StringBuffer存储完元素,都会变成字符串,只能用字符串的方法来操作。
4、什么时候使用字符串缓冲区?
数据个数和类型可以是固定,也可以是不固定的。
只要最终这些数据都需要变成字符串来操作,就可以用字符串缓冲区。
http://edu.csdn.net/heima android培训 http://edu.csdn.net/heima ; java培训期待与您交流!详细请查看http://edu.csdn.net/heima
http://edu.csdn.net/heima ; java培训期待与您交流!
一、String对象
1、String类的特点:
a、java语言中用于描述的最常见的字符串数据的对象。
b、字符串数据都是一个对象。
c、字符串数据一旦初始化就不可以被改变了。
d、字符串对象都存储在常量池中,字符串常量池。
2、创建字符串对象的两种方式(建议不要用new的方式来创建对象)
String s1 = "abcd";//这是在常量池中创建了一个字符串对象。
String s1 = new String("abcd");//先在常量池中创建一个对象,然后在堆内存中备份一份。
3、比较
==:基本数据类型比较。
equals:对象比较。
4、String对象中的方法。
其中构造方法有很多。
int length(): 获取字符串长度。
int indexOf(int ch): 获取指定字符的位置。
int indexOf(String str):返回指定字符串的位置。
char charAt(int index: 返回指定索引处的 char值。
String substring(int beginIndex, int endIndex):返回一个新字符串,它是此字符串的一个子字符串。
String substring(int beginIndex):返回一个新的字符串,它是此字符串的一个子字符串。
char[] toCharArray(): 将此字符串转换为一个新的字符数组。
String toUpperCase() : 将字符串转成大写。
String toLowerCase() : 将字符串中所有转成小写。
static String valueOf(all) :
返回参数的字符串表示形式。
String toString():返回此对象本身。
int lastIndexOf(int ch):
返回指定字符在此字符串中最后一次出现处的索引。
isEmpty() : 字符串长度为0时,返回true。
byte[] getBytes():将字符串转成字符数组。
二、StringBuffer字符串缓冲区。
1、特点:
a、缓冲区就是用来缓存数据的,意味着它是一个容器。
b 、该容器的长度是可变的。
c、提供了对容器中内容的操作方法。(四种:增删改查)
d、该缓冲区中可以添加多种类型的元素,基本类型和应用类型。
e、想要使用容器中的数据,必须使用toStirng方法返回字符串。
2、常用方法:需要查阅构造方法。
append()追加,返回的还是容器,可以连续添加。
toString() 返回的是一个字符串。
insert()在任意位置添加。
delete()删除指定。
delete(0,sb.length)清空缓冲区。
sb.replace()修改。
setCharAt()
reverse()将字符串倒过来打印。
注意:通常情况下容器的底层都封装了数组是可变长度数组。
三、StringBuilder容器。
1、StringBuilder概述:
a、jdk1.5版本才出现的。
b、功能和StringBuilder容器一模一样。
2、SringBuffer和StringBuidler区别。
a、StringBuidler不用判断同步锁,是线程不安全的,但效率高。
StringBuffer是线程安全的。
b、对容器而言,被多线程操作,容易出现安全问题。
因为一个线程负责添加,一个负责删除,因为线程随机性会出现安全问题。
每调用一次操作容器的方法,都会判断一次锁,所以效率比较低。
3、StringBuffer和数组容器的区别?
a、数组容器是固定长度的,容器是可变长度的。
b、数组容器一旦初始化就明确了元素类型。
StringBuffer可存储任意类型,包括基本,引用。
c、数组存储完元素可以通过角标来操作元素。
StringBuffer存储完元素,都会变成字符串,只能用字符串的方法来操作。
4、什么时候使用字符串缓冲区?
数据个数和类型可以是固定,也可以是不固定的。
只要最终这些数据都需要变成字符串来操作,就可以用字符串缓冲区。
http://edu.csdn.net/heima android培训 http://edu.csdn.net/heima ; java培训期待与您交流!详细请查看http://edu.csdn.net/heima
相关文章推荐
- 黑马程序员--05.String字符串类--04.【StringBuffer】【StringBuilder】
- 黑马程序员 日记四:String、StringBuffer和StringBuilder的比较与总结
- 黑马程序员-------String,StringBuffer,StringBuilder
- 黑马程序员—String、StringBuffer、StringBuilder
- 黑马程序员----【javaSE基础】个人总结--String 、 StringBuffer 和 StringBuilder
- 黑马程序员_源自梦想 String、StringBuffer、StringBuilder
- 【黑马程序员】String,StringBuffer和StringBuilder的区别
- 黑马程序员——Java String、StringBuffer、StringBuilder、基本数据类型对象包装类
- 黑马程序员_String-StringBuffer-StringBuilder
- (五)黑马程序员——Java中的字符串操作类(String、StringBuilder、StringBuffer)
- 黑马程序员--String,stringbuffer与stringbuilder的应用
- 黑马程序员——String字符串,StringBuilder和StringBuffer,线性表: List,散列表
- 黑马程序员——String与StringBuffer、StringBuilder的应用与区别
- 黑马程序员---------笔记整理(java基础九-----String,StringBuffer,StringBuilder)
- 38.黑马程序员-String、StringBuffer、StringBuilder比较
- 黑马程序员-String、StringBuffer和StringBuilder
- 黑马程序员——03 String,StringBuffer,StringBuilder的联系以及三者的常用方法
- 黑马程序员——JAVA练习——String、StringBuffer和StringBuilder
- 黑马程序员java基础String、StringBuffer、StringBuilder笔记
- String , StringBuffer 与 StringBuilder 简单的JDK JRE描述