String类:
String对象最重要的特点:不可变。String用来存储字符的数据是private的,而且不提供任何修改内容的方法(get、set等),所以String对象一旦生成,其内容就是完全不可能被修改的。
String中的常用方法及代码示例:
length() — 取字符串长度
toUpperCase() / toLowerCase() — 将字符串的值全部大/小写
chartAt() — 取指定位置的字符
subString() — 截取字符串
trim() — 去掉空格
public class LearnString {
public static void main(String[] args) {
String content = "01234567ABCDefgh";
//String的length()是个方法而不是属性
System.out.println(content.length());
//其实是生成了一个新的String对象
System.out.println(content.toUpperCase()); //全部大写
System.out.println(content.toLowerCase()); //全部小写
//content指向对象的内容并没有变化
System.out.println(content);
//取指定索引处的字符
System.out.println(content.charAt(1));
//字符串的截取,从某处开始截,可规定终止处(不含)
System.out.println(content.substring(5));
System.out.println(content.substring(1,5));
//将String对象中的值的空格给去掉
String str=" abc ";
System.out.println(str);
System.out.println(str.trim());
}
}
运行结果:
16
01234567ABCDEFGH
01234567abcdefgh
01234567ABCDefgh
1
567ABCDefgh
1234
abc
abc
toCharArray() — 拆分字符串
split() — 分割字符串
indexOf() / lastIndexOf() — 返回从前/后数第一次出现特定字符串的索引
contains() — 判断是否包含特定字符串
equals() — 判断两个字符串的值是否相等
equalsIgnoreCase() — 忽略大小写,比较值是否相等
public class LearnString2 {
public static void main(String[] args) {
String content = "Orange_Apple_Banana";
//将字符串拆成单个字符存储在字符组中
char[] chars = content.toCharArray();
for (int i = 0; i < chars.length; i++) {
System.out.println(chars[i]);
}
//根据一个字符或一个字符串把原有的字符串分割成几块字符串
String[] s=content.split("_");
for (int i=0;i<s.length;i++){
System.out.println(s[i]);
}
//根据某个字符返回它第一次出现在字符串里的位置,即索引
int indexOf=content.indexOf("_");
System.out.println(indexOf);
System.out.println(content.substring(indexOf+1,content.length())); //截取特定字符串
//从字符串最后一位往前数,找出第一次出现的特定字符,返回其索引
int lastIndexOf=content.lastIndexOf("_");
System.out.println(lastIndexOf);
System.out.println(content.substring(0,lastIndexOf)); //截取特定字符串
//判断字符串中是否包含特定的字符串,返回true或false
System.out.println(content.contains("apple"));
System.out.println(content.contains("Apple"));
System.out.println(content.contains("Orange"));
System.out.println(content.contains("Banana"));
String content2="Orange_Apple_Banana";
String content3="orange_apple_banana";
//两个String对象比较是否相等,一定要用equals方法,用来判断两个字符串的值是否相等,在String类中已重写
System.out.println(content.equals(content2));
System.out.println(content.equals(content3));
System.out.println(content.equalsIgnoreCase(content3)); //比较时忽略值的大小写
}
}
运行结果:
O
r
a
n
g
e
_
A
p
p
l
e
_
B
a
n
a
n
a
Orange
Apple
Banana
6
Apple_Banana
12
Orange_Apple
false
true
true
true
true
false
true