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文档的介绍:

[img]http://dl.iteye.com/upload/attachment/546277/f6b25c60-630f-3fe6-84e2-bcc0621a0237.png[/img]


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文档的介绍:

[img]http://dl.iteye.com/upload/attachment/546279/a792fdce-7e2f-3cda-aac1-1d56f40663df.png[/img]


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);

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: string是标准C++中的一个字符串,它提供了许多常用方法,包括: 1. length():返回字符串的长度。 2. size():同length(),返回字符串的长度。 3. empty():判断字符串是否为空字符串。 4. clear():清空字符串。 5. resize():改变字符串的大小。 6. substr():返回字符串的子串。 7. find():查找子串在字符串中第一次出现的位置。 8. rfind():查找子串在字符串中最后一次出现的位置。 9. replace():替换字符串中的子串。 10. c_str():返回字符串的C风格字符串表示。 11. compare():比较两个字符串的大小。 这些方法都是很常用的,可以方便地操作字符串。 ### 回答2: stringJava常用的一个,用于表示字符串。它包含了很多常用方法,下面我将介绍几个常用方法: 1. length()方法:用于返回字符串的长度。例如,对于字符串"Hello World",使用length()方法将返回11。 2. charAt()方法:用于返回指定位置上的字符。字符串中的每个字符都有一个对应的索引值,第一个字符的索引值为0。例如,对于字符串"Hello World",使用charAt(1)方法将返回'e'。 3. substring()方法:用于返回从指定位置开始到指定位置结束的子字符串。例如,对于字符串"Hello World",使用substring(6, 11)方法将返回"World"。 4. indexOf()方法:用于返回指定字符或子字符串在原字符串中第一次出现的位置。例如,对于字符串"Hello World",使用indexOf("o")方法将返回4。 5. toUpperCase()方法和toLowerCase()方法:分别用于将字符串中的字符转换为大写和小写。例如,对于字符串"Hello World",使用toUpperCase()方法将返回"HELLO WORLD",使用toLowerCase()方法将返回"hello world"。 这些只是string中的一小部分常用方法,还有很多其他的方法可以操作字符串。通过这些方法,我们可以对字符串进行长度判断、字符提取、子字符串截取、字符查找等各种操作,从而满足不同的需求。 ### 回答3: stringJava中用于表示字符串的一个。它提供了许多常用方法,方便我们对字符串进行操作。 首先是字符串的创建和获取长度。我们可以使用构造函数创建一个字符串对象,也可以使用双引号直接创建字符串常量。使用.length()方法可以获取字符串的长度。 接下来是字符串的拼接和切割。字符串拼接可以使用+运算符或.concat()方法进行,两个方法都可以将两个字符串连接起来。字符串切割可以使用.split()方法,该方法接收一个正则表达式作为参数,将字符串分割成多个子字符串。 然后是字符串的查找和替换。使用.indexOf()方法可以查找指定字符或字符串在原字符串中的位置,如果找到则返回其索引,否则返回-1。使用.replace()方法可以将一个字符串替换成另一个字符串。 还有字符串的大小写转换。使用.toUpperCase()方法可以将字符串转换成大写形式,使用.toLowerCase()方法可以将字符串转换成小写形式。 其次是字符串的截取和比较。使用.substring()方法可以截取字符串的一部分,指定起始索引和结束索引。使用.equals()方法可以比较两个字符串是否相等,区分大小写。使用.equalsIgnoreCase()方法可以比较两个字符串是否相等,不区分大小写。 最后是字符串的去除空格和判断开头或结尾。使用.trim()方法可以去除字符串前后的空格。使用.startsWith()方法可以判断字符串是否以指定字符或字符串开头,使用.endsWith()方法可以判断字符串是否以指定字符或字符串结尾。 总结来说,string常用方法包括创建和获取字符串、拼接和切割字符串、查找和替换字符串、大小写转换、截取和比较字符串、去除空格和判断开头或结尾等。这些方法可以方便地对字符串进行各种操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值