String和StringBuffer

来源:互联网 发布:浙江卫视软件 编辑:程序博客网 时间:2024/06/05 18:34

 java中的String和StringBuffer类

String 类和StringBuffer类来分装了对字符串的各种操作.
java.lang.String 类代表不可变的字符序列。
相对应java.lang.StringBuffer代表不可变的字符序列。
String类用于比较两个字符串、查找和抽取串中的字符或字串、字符串与其他类型之间的相互转化等。
StringBuffer类用于内容可以改变的字符串,可以将其他各种类型的数据增加、插入到字符串中,也可以翻转字符串中猿类的内容,并且可以把StringBuffer类生成的字符串通过StringBuffer类的tostring()方法转化成String类,然后就可以通过String类的各种方法操作该字符串了。
        java中提供了“+”来连接两个String类型的字符串连接成一个新的字符串,在StringBuffer类中可以通过append方法实现
       
注意:
        String s1="hello";
        String s2="hello"; 
        首先对于s1 JVM虚拟机首先在内存DATA空间内分配一块地址,s2时由于JVM的优化,发现data空间里有如此的对象,将s2的应用指向s1的内存地址。说明s1和s2是同一个对象,而下面的两句代码是创建了两个对象,但是他们虽然内容相同,但确实不同的两个对象;
        String s1=new String("hello");
        String s2=new String("hello")

       在String类中特别要注意“==”和“equals”,他们有着本质的区别,“==”比较的是两个字符串的对象引用,而“equals”比较的是两个字符串的内容。


String 类常有的方法:
public charcharAt(int index)返回字符串中第INDEX个字符。
public int length()返回字符串的长度
public int indexOf(String str)返回字符串中出现str的第一个位置
public int indexOf(String str,int fromIndex)返回字符串中从fromIndex开始出现str的第一个位置
public boolean equalsIgnoreCase(String another)比较字符串与another是否一样(忽略大小写)
public String replace(char oldChar,char newChar)在字符串中用newChar字符替换oldChar字符。
startsWith(String prefix)、endWith(String suffix)、toUpperCase()、toLowerCase()、substring(int beginIndex)、
substring(int beginIndex,int endIndex)、public String trim()、valueOf()
public String[] split(String regex)将字符串按指定字符分隔,返回分隔后的字符串数值。

 

StringBuffer常用的方法:
append()、delete()、insert()、reverse()