java笔记 String类中的方法总结

来源:互联网 发布:汕头宠物店软件 编辑:程序博客网 时间:2024/04/28 01:46

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

String是一个特殊类,任何一个确定的字符串都是其子类!

         其对象是不可变的,大部分对其进行的操作都会产生新的字符串对象,必要时可以使用StringBuffer代替String以节省内存。

String类中常用的方法:

查找方法:查找字符串中的某些数据

1. int length()   获取字符串的长度,

    角标从零开始  数组中有length属性,这里是方法

2.char  charAt(int index)获取某个角标上的字符

    角标过大超过字符串本身大小会引起字符串角标越界异常StringIndexOutOfBoundsException

3.int indexOf(int ch 或者某个子字符串String str)返回ch(ASCLL码表中的值,可以表示一个字符)或者子字符串在字符串中第一次出   现的位置

    找不到返回-1

4.int indexOf(int ch或者某个子字符串String str,int fromIndex)从fromindex指定位置开始,获取ch或者子字符串在字符串中出现的位置

    找不到返回-1

    相应的,有从反方向查找的方法,不再赘述

判断方法:判断字符串中的某些数据与字符串的关系

5.boolean contains(ChartSequence s)当且仅当此字符串包含指定的 char 值序列时,返回 true。

6.boolean isEmpty() 仅当字符串length()为0时返回true

7.boolean starts或者endsWith(String str)检查字符串是否以指定内容开头 或结尾

8. boolean equals(String anotherString) 将此字符串与指定的字符串(也可以是object)进行比较。 

9.boolean equalsIgnoreCase(String anotherString)   将此 String 与另一个 String 比较,不考虑大小写。

转换方法:与其他类型的数据进行转换

10.String(char[] value) String类的构造函数,可以将字符数组转化成字符串

                 例如:char[] arr=['a','b','c','d',]   String s = new String(ar);   s指向的字符串的值为“abcd”

                 同样的,其参数也可以是byte数组,原理相同

11. String(char[] value, int offset, int count) String类的构造函数,可以将字符数组的一部分转化成字符串

           offset:偏移量(即从0角标位偏移了几个位置,相当于这个值就是起始位置),count:记数,记住的是个数

                 例如:char[] arr=['a','b','c','d',]   String s = new String(ar,1,2);  s所指向的字符串的值为:“bc”(包含起始位置)

       除了构造函数外,还有静态方法与构造函数同效

             static String copyValueOf(char[] data)               返回指定数组中表示该字符序列的 String。 

             static String copyValueOf(char[] data, int offset, int count)               返回指定数组中表示该字符序列的 String。

12. char[] toCharArray()   将此字符串转换为一个新的字符数组。

            转换成字节数组的方法为getBytes(),同时,可指定字节的编码方式,方法如下

                 byte[] getBytes(Charset charset) 使用给定的 charset (编码表)将此 String 编码到 byte 序列,并将结果存储到新的 byte 数组。

            因为上述方法均为字符串调用,故其中不需要参数,函数内部使用this引用即可

13.static String valueOf(基本数据类型)  返回 基本类型数据的字符串表示形式

              其中包含:boolean char char[]  (char[] data, int offset, int count)  double  float  int  long 

              注意:参数也可包含Objecct类型,即任意对象都有其字符串表现形式

替换方法:将字符串中的部分数据进行替换
14.String replace(char oldChar, char newChar)  返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。

         若原字符串中没有newChar,那就不替换了,并不报出异常

         与之对应的,还有以下方法

             String replace(CharSequence target, CharSequence replacement)

               使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。此方法中的参数所限制的范围比上述方法更广泛

15.String replaceAll(String regex, String replacement) 使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
     String replaceFirst(String regex, String replacement) 使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
切割方法:将字符串中的部分数据进行切割或截取操作

16.String[] split(String regex)  根据给定正则表达式的匹配(即一个确定的值,一个匹配类似于一个类的某个确定对象)拆分此字符串。 
     String[] split(String regex, int limit)  根据匹配给定的正则表达式来拆分此字符串。

17. String substring(int beginIndex)   返回一个以beginIndex作为起始角标的新字符串,它是此字符串的一个子字符串。
      String substring(int beginIndex, int endIndex)  返回一个新字符串,它是此字符串的一个子字符串

                    上述方法中产生的子字符串都包含起始位置的字符,但第二个方法中,不包含尾部字符
                    上述第一个方法中,角标过大时会发生角标越界异常
转换大小写、去空格、比较方法:

18.String toUpperCase()  使用默认语言环境的规则将此 String 中的所有字符都转换为大写。

             相应的,还可根据不同的语言环境进行大写转换

                   String toUpperCase(Locale locale)   使用给定 Locale 的规则将此 String 中的所有字符都转换为大写。

              同样的,还有转换成小写的操作

                        String toLowerCase()   使用默认语言环境的规则将此 String 中的所有字符都转换为小写。 

                        String toLowerCase(Locale locale)   使用给定 Locale 的规则将此 String 中的所有字符都转换为小写

19. String trim()   返回字符串的副本,忽略前导空白和尾部空白,中间的空白不忽略。

20. int compareTo(String anotherString)   按字典顺序比较两个字符串。

               同样的int compareToIgnoreCase(String str)    按字典顺序比较两个字符串,不考虑大小写。

           从传入的字符串的第一个字符开始比较,返回的是原字符串中字符的ASCII码值与传进来的参数的相对应位置上字符的ASCII的差