Java中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);                //abcdefghij
      String sb_sub = new String(b,3,2);    //de
      String sc = new String(c);                  //0123456789
      String sc_sub = new String(c,3,2);    //34
      String 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:abcdefghij
                      sb_sub:de
                      sc:0123456789
                        sc_sub:4
                        sb_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): f
2. int compareTo(String anotherString) 当前String对象与anotherString比较相等关系返回0不相等时,从两个字符串第0个字符开始比较,返回第一个不相等的字符差,另一种情况,较长字符串的前面部分恰巧是较短的字符串,返回它们的长度差。
3. int compareTo(Object o) :如果oString对象,和2的功能一样;否则抛出ClassCastException异常。
    例如:String s1 = new String("abcdefghijklmn");
            String s2 = new String("abcdefghij");
          String s3 = new String("abcdefghijalmn");
          System.out.println("s1pareTo(s2): " + s1pareTo(s2) ); //返回长度差
          System.out.println("s1pareTo(s3): " + s1pareTo(s3) ); //返回'k'-'a'的差
          结果为:s1pareTo(s2): 4
                      s1pareTo(s3): 10
4. 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): true
9. 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'): 1
                      s.indexOf('r',2): 12
                      s.indexOf(ss): 12
17. int lastIndexOf(int ch)
18. int lastIndexOf(int ch, int fromIndex)
19. int lastIndexOf(String str)
20. int lastIndexOf(String str, int fromIndex) 以上四个方法与13141516类似,不同的是:最后一个匹配的内容
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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。