java-String类的相关方法
字符串的长度
int length()
字符串的比较
boolean equals() // 比较内容
注意
1.boolean equalsIgnoreCase() // 忽略大小写比较
2.使用 == 比较的是 地址是否相同
按索引取值
char charAt(索引下标值)
举个栗子:
public class StringTest {
public static void main(String[] args) {
String s = "abcdefabc";
System.out.println("字符a第一次出现的位置为"+s.indexOf('a'));
System.out.println("字符串bc第一次出现的位置为"+s.indexOf("bc"));
System.out.println("字符a最后一次出现的位置为"+s.lastIndexOf('a'));
System.out.println("从位置3开始到结束的字符串"+s.substring(3));
System.out.println("从位置3开始到6之间的字符串"+s.substring(3,6));
}
}
编译运行结果
$ javac StringTest.java
$ java StringTest
字符a第一次出现的位置为0
字符串bc第一次出现的位置为1
字符a最后一次出现的位置为6
从位置3开始到结束的字符串defabc
从位置3开始到6之间的字符串def
String 是无法被修改的,对 String 的修改,其实是新建了一个 String 对象。如果需要修改字符串的内容,可以使用 StringBuilder。它相当于一个存储字符的容器。
# 构造一个不包含任何字符且初始容量为 16 的 StringBuilder
StringBuilder a = new StringBuilder();
# 构造一个不包含任何字符且容量为 cap 的 StringBuilder
StringBuilder b = new StringBuilder(int cap);
# 构造一个 StringBuilder,内容初始化为 str
StringBuilder c = new StringBuilder(String str);
举个栗子:
public class StringBuilderTest {
public static void main(String[] args){
StringBuilder s1 = new StringBuilder();
s1.append("java");
StringBuilder s2 = new StringBuilder(5);
StringBuilder s3 = new StringBuilder("shiyanlou");
System.out.println("s1:" + s1.toString() + "\tcap:" + s1.capacity());
System.out.println("s2:" + s2.toString() + "\tcap:" + s2.capacity());
System.out.println("s3:" + s3.toString() + "\tcap:" + s3.capacity());
}
}
编译运行结果
$ javac StringBuilderTest.java
$ java StringBuilderTest
s1:java cap:16
s2: cap:5
s3:shiyanlou cap:25
注:其中 s3 的 capacity 为 25 是因为初始容量 16 + shiyanlou 的长度 9。