String类常用方法总结

自己对字符串的各种方法不太熟悉,今天把主要的方法都试了一遍,简单的总结如下(如有不正确的地方欢迎指正):
String str1 = "abcd";
String str2 = "abcdabcd";
1.length():求字符串的长度
int len = str1.length();
System.out.println("字符串的长度:"+len);
运行结果:
字符串的长度:4
2.charAt(int index):取字符串中指定下标的一个元素
for (int i=0;i<len;i++){
char c =str1.charAt(i);
System.out.println("下标"+i+"的值:"+c);
}
运行结果:
下标0的值:a
下标1的值:b
下标2的值:c
下标3的值:d
3. codePointAt(int index):index 处字符的代码点值
for (int i=0;i<len;i++){
int k = str1.codePointAt(i);
System.out.println("下标"+i+"的值:"+k);
}
运行结果:
下标0的值:97
下标1的值:98
下标2的值:99
下标3的值:100
4. codePointBefore(int index):给定索引前面的 Unicode 代码点
int k = str1.codePointBefore(0);
System.out.println("下标"+0+"之前的值:"+k);
java.lang.StringIndexOutOfBoundsException
int k = str1.codePointBefore(1);
System.out.println("下标"+1+"之前的值:"+k);
运行结果:
下标1之前的值:97
int k = str1.codePointBefore(2);
System.out.println("下标"+2+"之前的值:"+k);
运行结果:
下标2之前的值:98
int k = str1.codePointBefore(3);
System.out.println("下标"+3+"之前的值:"+k);
运行结果:
下标3之前的值:99
int k = str1.codePointBefore(len);
System.out.println("下标"+len+"之前的值:"+k);
运行结果:
下标4之前的值:100
5. codePointCount(int beginIndex, int endIndex): 返回此 String 的指定文本范围中的 Unicode 代码点数
int k = str1.codePointCount(0, len);
System.out.println("0到"+len+"之前的值:"+k);
运行结果:
0到4之前的值:4
int k = str1.codePointCount(0, len-2);
System.out.println("0到"+(len-2)+"之前的值:"+k);
运行结果:
0到2之前的值:2

6. compareTo(String anotherString)
先看下面API文档的介绍:

 


int i = str1.compareTo("abd");
System.out.println(i);
int k = str1.compareTo("abf");
System.out.println(k);
int t = "abd".compareTo(str1);
System.out.println(t);
int j = "abf".compareTo(str1);
System.out.println(j);
int g = str1.compareTo(str1);
System.out.println(g);
int f = str1.compareTo("abcdefg");
System.out.println(f);
int r = "abcdefg".compareTo(str1);
System.out.println(r);
运行结果:
-1
-3
1
3
0
-3
3

7. compareToIgnoreCase(String str)
先看下面API文档的介绍:

 


int i = str1.compareToIgnoreCase("ABCD");
System.out.println(i);
int f = str1.compareTo("ABCD");
System.out.println(f);
运行结果:
0
32

8. concat(String str):将指定字符串连接到此字符串的结尾
String s1 = str1.concat("ABCD");
System.out.println(s1);
String s2 = str.concat("");
System.out.println(s2);
运行结果:
abcdABCD
abcd

9. copyValueOf(char[] data):返回指定数组中表示该字符序列的 String
静态方法
char[] data = {'a','b','c','d','e','f'};
String s1 = String.copyValueOf(data);
System.out.println(s1);
运行结果:
abcdef
10. copyValueOf(char[] data, int offset, int count):返回指定数组中表示该字符序列的 String
char[] data = {'a','b','c','d','e','f'};
String s1 = String.copyValueOf(data,3,3);
System.out.println(s1);
运行结果:
def
11. endsWith(String suffix):测试此字符串是否以指定的后缀结束
boolean isd = str1.endsWith("d");
System.out.println("此字符串是否以d结尾:"+isd);
boolean isf = str1.endsWith("f");
System.out.println("此字符串是否以f结尾:"+isf);
运行结果:
此字符串是否以d结尾:true
此字符串是否以f结尾:false
而与endsWith(String suffix)类似的方法有下面两个:
startsWith(String prefix)
startsWith(String prefix, int toffset)
这两个的方法是测试此字符串是否以指定的后缀开始
12. equals(Object anObject):将此字符串与指定的对象比较
boolean iseq1 = str1.equals("abcd");
System.out.println(iseq1);
boolean iseq2 = str1.equals("abc");
System.out.println(iseq2);
运行结果:
true
false
13. equalsIgnoreCase(String anotherString):将此 String 与另一个 String 比较,不考虑大小写
boolean iseq1 = str1.equalsIgnoreCase("ABCD");
System.out.println(iseq1);
运行结果:
true

14. getBytes():将字符串转化为字节数组
byte[] data = str1.getBytes();
for (int i=0;i<data.length;i++){
System.out.print(data[i]+"\t");
}
运行结果:
97 98 99 100
15. indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引
int t = str1.indexOf(96);
System.out.println(t);
int i = str1.indexOf(97);
System.out.println(i);
int k = str1.indexOf(99);
System.out.println(k);
int f = str1.indexOf(101);
System.out.println(f);
运行结果:
-1
0
2
-1
16. indexOf(int ch, int fromIndex):返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索
int i = str2.indexOf(97, 3);
System.out.println(i);
int t = str2.indexOf(99, 1);
System.out.println(t);
int k = str2.indexOf(97,5);
System.out.println(k);
运行结果:
4
2
-1
17. indexOf(String str):返回指定子字符串在此字符串中第一次出现处的索引
int t = str2.indexOf("a");
System.out.println(t);
int i = str2.indexOf("c");
System.out.println(i);
int k = str2.indexOf("d");
System.out.println(k);
int f = str2.indexOf("e");
System.out.println(f);
运行结果:
2
3
-1

18. indexOf(String str, int fromIndex):返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始
int i = str2.indexOf("a", 3);
System.out.println(i);
int t = str2.indexOf("c", 1);
System.out.println(t);
int k = str2.indexOf("a",5);
System.out.println(k);
运行结果:
2
-1

19. isEmpty():当且仅当 length() 为 0 时返回 true
boolean isempty1 = str1.isEmpty();
System.out.println(isempty1);
boolean isempty2 = "".isEmpty();
System.out.println(isempty2);
运行结果:
false
true

下面几个方法与上面indexOf()是相对应的,只不过是返回最后一次出现的索引
20. lastIndexOf(int ch)
int i = str2.lastIndexOf(97);
System.out.println(i);
int k = str2.lastIndexOf(101);
System.out.println(k);
运行结果:
4
-1
lastIndexOf(int ch, int fromIndex)
lastIndexOf(String str)
lastIndexOf(String str, int fromIndex)

21. substring(int beginIndex):返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾
String s1 = str2.substring(4);
System.out.println(s1);
String s2 = str2.substring(2);
System.out.println(s2);
运行结果:
abcd
cdabcd
22. substring(int beginIndex, int endIndex):返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符
String s1 = str2.substring(4,7);
System.out.println(s1);
String s2 = str2.substring(2,7);
System.out.println(s2);
运行结果:
abc
cdabc
23. toCharArray():将此字符串转换为一个新的字符数组
char[] c = str1.toCharArray();
for (int i=0;i<c.length;i++){
System.out.print(c[i]+"\t");
}
运行结果:
a b c d
24. toLowerCase():将此 String 中的所有字符都转换为小写
String str3 = "ABCDABCD";
String str4 = "AcbdABcD";
String s1 = str3.toLowerCase();
System.out.println(s1);
String s2 = str4.toLowerCase();
System.out.println(s2);
运行结果:
abcdabcd
acbdabcd

下面是main函数:

public static void main(String[] args) {
String str1 = "abcd";
String str2 = "abcdabcd";
int len = str1.length();
System.out.println("字符串的长度:"+len);
//  for (int i=0;i<len;i++){
//  char c =str.charAt(i);
//  System.out.println("下标"+i+"的值:"+c);
//  }


//  for (int i=0;i<len;i++){
//  int k = str.codePointAt(i);
//  System.out.println("下标"+i+"的值:"+k);
//  }


//  int k = str.codePointBefore(len);
//  System.out.println("下标"+len+"之前的值:"+k);

//  int k = str.codePointCount(0, len);
//  System.out.println("0到"+len+"之前的值:"+k);
//  int k = str.codePointCount(0, len-2);
//  System.out.println("0到"+(len-2)+"之前的值:"+k);

//  int i = str.compareTo("abd");
//  System.out.println(i);
//  int k = str.compareTo("abf");
//  System.out.println(k);
//  int t = "abd".compareTo(str);
//  System.out.println(t);
//  int j = "abf".compareTo(str);
//  System.out.println(j);
//  int g = str.compareTo(str);
//  System.out.println(g);
//  int f = str.compareTo("abcdefg");
//  System.out.println(f);
//  int r = "abcdefg".compareTo(str);
//  System.out.println(r);

//  int i = str.compareToIgnoreCase("ABCD");
//  System.out.println(i);
//  int f = str.compareTo("ABCD");
//  System.out.println(f);
//  String str1 = str.concat("ABCD");
//  System.out.println(str1);
//  String str2 = str.concat("");
//  System.out.println(str2);
//  char[] data = {'a','b','c','d','e','f'};
//  String str1 = String.copyValueOf(data);
//  System.out.println(str1);

//  char[] data = {'a','b','c','d','e','f'};
//  String str1 = String.copyValueOf(data,3,3);
//  System.out.println(str1);

//  boolean isd = str.endsWith("d");
//  System.out.println("此字符串是否以d结尾:"+isd);
//  boolean isf = str.endsWith("f");
//  System.out.println("此字符串是否以f结尾:"+isf);

//  boolean iseq1 = str.equals("abcd");
//  System.out.println(iseq1);
//  boolean iseq2 = str.equals("abc");
//  System.out.println(iseq2);

//  boolean iseq1 = str.equalsIgnoreCase("ABCD");
//  System.out.println(iseq1);

//  byte[] data = str.getBytes();
//  for (int i=0;i<data.length;i++){
//  System.out.print(data[i]+"\t");
//  }

//  int t = str.indexOf(96);
//  System.out.println(t);
//  int i = str.indexOf(97);
//  System.out.println(i);
//  int k = str.indexOf(99);
//  System.out.println(k);
//  int f = str.indexOf(101);
//  System.out.println(f);

//  int i = str2.indexOf(97, 3);
//  System.out.println(i);
//  int t = str2.indexOf(99, 1);
//  System.out.println(t);
//  int k = str2.indexOf(97,5);
//  System.out.println(k);

//  int t = str2.indexOf("a");
//  System.out.println(t);
//  int i = str2.indexOf("c");
//  System.out.println(i);
//  int k = str2.indexOf("d");
//  System.out.println(k);
//  int f = str2.indexOf("e");
//  System.out.println(f);

//  int i = str2.indexOf("a", 3);
//  System.out.println(i);
//  int t = str2.indexOf("c", 1);
//  System.out.println(t);
//  int k = str2.indexOf("a",5);
//  System.out.println(k);

//  String str = str1.intern();
//  System.out.println(str);
//  System.out.println(str1);

//  boolean isempty1 = str1.isEmpty();
//  System.out.println(isempty1);
//  boolean isempty2 = "".isEmpty();
//  System.out.println(isempty2);

//  int i = str2.lastIndexOf(97);
//  System.out.println(i);
//  int k = str2.lastIndexOf(101);
//  System.out.println(k);

//  String s1 = str2.substring(4);
//  System.out.println(s1);
//  String s2 = str2.substring(2);
//  System.out.println(s2);

//  String s1 = str2.substring(4,7);
//  System.out.println(s1);
//  String s2 = str2.substring(2,7);
//  System.out.println(s2);

//  char[] c = str1.toCharArray();
//  for (int i=0;i<c.length;i++){
//  System.out.print(c[i]+"\t");
//  }


//  String str3 = "ABCDABCD";
//  String str4 = "AcbdABcD";
//  String s1 = str3.toLowerCase();
//  System.out.println(s1);
//  String s2 = str4.toLowerCase();
//  System.out.println(s2);
//  String str3 = "ABC D AB C D";
//  String s1 = str3.trim();
//  System.out.println(s1);

String s = String.valueOf(false);
System.out.println(s); 

}

相关文章
相关标签/搜索