Java String类总结

来源:互联网 发布:淘宝管控记录 编辑:程序博客网 时间:2024/03/28 22:40

String类总结

1.String s1="abc"; //s1是一个类类型变量,“abc”是一个对象。

 字符串最大特点:一旦被初始话就不可以被改变。s1里的地址可变,但“abc”这个对象不能变。

String s2=new String("abc");

S1在内存中有一个对象,而s2在内存中有两个对象。

2.获取:

1)字符串中的包含的字符数,也就是字符串的长度;int length()

2)根据位置获取位置上的某个字符。char charAt(int index);

3)根据字符获取该字符在字符串中的位置:

   Int indexOf(int ch):返回的是ch在字符串中第一次出现的位置

   Int indexOf(int ch,int fromIndex):从fromIndex指定位置开始,获取str在字符串中出现的位置。

   int intdexOf(String str):返回的是str在字符串中第一次出现的位置。

   int indexOf(String str,int fromIndex):从fromIndex指定的位置开始,获取str在字符串中出现的位置。

   int lastIndexOf(int ch):

3. 判断

1)字符串中是否包含某一个子串。

   boolean contains(str):

  特殊之处:indexOf(str):可以索引str第一次出现的位置,如果返回-1表示str不在字符串中,所以,也可以用于对指定判断是否包含。If(str.indexOf("aa")!=-1)  而且该方法既可以判断,又可以获取出现的位置。

2)  字符串中时否有内容。Boolean isEmpty()

3) 字符串是否是以指定的内容开头:boolean startWith(str)

4) 字符串是否是以指定的内容结尾:boolean endWith(str)

5) 判断内容是否相同,并忽略大小:boolean equalsIgnoreCase(String str)

4.  转换

1)将字符数组转换成字符串。

  构造方法:Stirng(char[]),

            String(char[],offset,count)字符数组一部分转换

   静态方法:

    static String copyValue(char[])

static String copyValue(char[] data,int offset,int count)

2)将字符串转成字符数组:char[] toCharArray()

3)将字节数组转成字符串:

    String(byte[]),

String(byte[],offset,count)

4)将字符串转换成字节数组:byte[] getByte()

5)将基本数据类型转换成字符串:

  Static String valueOf(int )

 Static String valueOf(double )

特殊:字符串和字节数组在转换过程中,是可以指定编码表的。

5.替换:String replace(oldchar,newchar);

6.切割:String[] split(String regex):regex为字符串,如:“,”“aa”。

7.子串。获取字符串中的一部分。

  String substring(int begin):

  String substring(int begin,int end)

8.转换,去除空格,比较:

1)将字符串转换成大写或小写:

   String toUpperCase();

   String toLowerCase();

 2)将字符串两端的空格去除:String trim();

 3)对两个字符串进行自然顺序的比较:int compareTo(String str)

StringBuffer类:

是一个容器。

1.特点:

1)长度是可以变化的。

2)可以字节操作多个数据类型。

3)最终会通过toString方法变成字符串。

CURD : create     update   read    delete

1)存储:StringBuffer append(String str):加末尾

         StringBuffer insert(index,str):指定位置加

2)删除:StringBuffer delete(start,end)

         StringBuffer deleteCharAt(int index)

3)获取:char charAt(int index)

         Int indexOf(String str)

         Int lastIndexOf(String str)

         Int length()

4)修改:StringBuffer replace(start,end,string)

        Void setCharAt(int index,char ch);

5)反转:StringBuffer reverse();

6)将缓冲区中指定的数据存储到指定的字符数组中:

void getChars(int srcBegin,int srcEnd,ch[]dst,int destBegin):将字符串复制到数组dst中。

Jdk1.5版本之后出现了StirngBuilder

StringBuffer是线程同步。

StringBuilder是线程不同步。

原创粉丝点击