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