Java中String类的方法及说明
String : 字符串类型一、构造函数String(byte bytes):通过 byte 数组构造字符串对象。String(char value):通过 char 数组构造字符串对象。String(Sting original):构造一个 original 的副本。即:拷贝一个original。String(StringBuffer buffer):通过 StringBuffer 数组构造字符串对象。例如:byte b = 'a','b','c','d','e','f','g','h','i','j'char c = '0','1','2','3','4','5','6','7','8','9'String sb = new String(b); /abcdefghijString sb_sub = new String(b,3,2); /deString sc = new String(c); /0123456789String sc_sub = new String(c,3,2); /34String sb_copy = new String(sb); /abcdefghij System.out.println("sb:"+sb);System.out.println("sb_sub:"+sb_sub);System.out.println("sc:"+sc);System.out.println("sc_sub:"+sc_sub);System.out.println("sb_copy:"+sb_copy);输出结果:sb:abcdefghijsb_sub:desc:0123456789sc_sub:34sb_copy:abcdefghij二、方法:说明:、所有方法均为 public。、书写格式: 修饰符 例如:static int parseInt(String s)表示此方法(parseInt)为类方法(static),返回类型为(int),方法所需要为 String 类型。1. char charAt(int index) :取字符串中的某一个字符,其中的参数 index指的是字符串中序数。字符串的序数从 0 开始到 length()-1 。例如:String s = new String("abcdefghijklmnopqrstuvwxyz");System.out.println("s.charAt(5): " + s.charAt(5) );结果为: s.charAt(5): f2. int compareTo(String anotherString) :当前 String 对象与anotherString 比较。相等关系返回;不相等时,从两个字符串第 0 个字符开始比较,返回第一个不相等的字符差,另一种情况,较长字符串的前面部分恰巧是较短的字符串,返回它们的长度差。3. int compareTo(Object o) :如果 o 是 String 对象,和 2 的功能一样;否则抛出 ClassCastException 异常。例如:String s1 = new String("abcdefghijklmn");String s2 = new String("abcdefghij");String s3 = new String("abcdefghijalmn");System.out.println("s1.compareTo(s2): " + s1.compareTo(s2) ); /返回长度差System.out.println("s1.compareTo(s3): " + s1.compareTo(s3) ); /返回'k'-'a'的差结果为:s1.compareTo(s2): 4s1.compareTo(s3): 104. String concat(String str) :将该 String 对象与 str 连接在一起。5. boolean contentEquals(StringBuffer sb) :将该 String 对象与StringBuffer 对象 sb 进行比较。6. static String copyValueOf(char data) :7. static String copyValueOf(char data, int offset, int count) :这两个方法将 char 数组转换成 String,与其中一个构造函数类似。8. boolean endsWith(String suffix) :该 String 对象是否以 suffix 结尾。例如:String s1 = new String("abcdefghij");String s2 = new String("ghij");System.out.println("s1.endsWith(s2): " + s1.endsWith(s2) );结果为:s1.endsWith(s2): true9. boolean equals(Object anObject) :当 anObject 不为空并且与当前String 对象一样,返回 true;否则,返回 false。10. byte getBytes() :将该 String 对象转换成 byte 数组。11. void getChars(int srcBegin, int srcEnd, char dst, int dstBegin) :该方法将字符串拷贝到字符数组中。其中,srcBegin 为拷贝的起始位置、srcEnd 为拷贝的结束位置、字符串数值 dst 为目标字符数组、dstBegin 为目标字符数组的拷贝起始位置。例如:char s1 = 'I',' ','l','o','v','e',' ','h','e','r','!'/s1=I love her!String s2 = new String("you!"); s2.getChars(0,3,s1,7); /s1=I love you!System.out.println( s1 );结果为:I love you!12. int hashCode() :返回当前字符的哈希表码。13. int indexOf(int ch) :只找第一个匹配字符位置。14. int indexOf(int ch, int fromIndex) :从 fromIndex 开始找第一个匹配字符位置。15. int indexOf(String str) :只找第一个匹配字符串位置。16. int indexOf(String str, int fromIndex) :从 fromIndex 开始找第一个匹配字符串位置。例如:String s = new String("write once, run anywhere!"); String ss = new String("run");System.out.println("s.indexOf('r'): " + s.indexOf('r') );System.out.println("s.indexOf('r',2): " + s.indexOf('r',2) );System.out.println("s.indexOf(ss): " + s.indexOf(ss) );结果为:s.indexOf('r'): 1s.indexOf('r',2): 12s.indexOf(ss): 1217. int lastIndexOf(int ch)18. int lastIndexOf(int ch, int fromIndex)19. int lastIndexOf(String str)20. int lastIndexOf(String str, int fromIndex) 以上四个方法与13、14、15、16 类似,不同的是:找最后一个匹配的内容。public class CompareToDemo public static void main (String args) String s1 = new String("acbdebfg");System.out.println(s1.lastIndexOf(int)'b',7);运行结果:5(其中 fromIndex 的参数为 7,是从字符串 acbdebfg 的最后一个字符g 开始往前数的位数。既是从字符 c 开始匹配,寻找最后一个匹配 b 的位置。所以结果为 5)21. int length() :返回当前字符串长度。22. String replace(char oldChar, char newChar) :将字符号串中第一个oldChar 替换成 newChar。23. boolean startsWith(String prefix) :该 String 对象是否以 prefix 开始。24. boolean startsWith(String prefix, int toffset) :该 String 对象从toffset 位置算起,是否以 prefix 开始。例如:String s = new String("write once, run anywhere!");String ss = new String("write");String sss = new String("once");System.out.println("s.startsWith(ss): " + s.startsWith(ss) );System.out.println("s.startsWith(sss,6): " + s.startsWith(sss,6) );结果为:s.startsWith(ss): trues.startsWith(sss,6): true25. String substring(int beginIndex) :取从 beginIndex 位置开始到结束的子字符串。26.String substring(int beginIndex, int endIndex) :取从 beginIndex 位置开始到 endIndex 位置的子字符串。27. char toCharArray() :将该 String 对象转换成 char 数组。28. String toLowerCase() :将字符串转换成小写。29. String toUpperCase() :将字符串转换成大写。例如:String s = new String("java.lang.Class String");System.out.println("s.toUpperCase(): " + s.toUpperCase() );System.out.println("s.toLowerCase(): " + s.toLowerCase() );结果为:s.toUpperCase(): JAVA.LANG.CLASS STRINGs.toLowerCase(): java.lang.class string30. static String valueOf(boolean b)31. static String valueOf(char c)32. static String valueOf(char data)33. static String valueOf(char data, int offset, int count)34. static String valueOf(double d)35. static String valu