1.简介
String类是Java语言中的一个基本类,用于表示字符串。这个类是final的,也就是说不能被继。String类是不可变的,也就是说,一旦创建了String对象,就不能修改其内容。如果尝试修改String对象,实际上会创建一个新的String对象,而不是修改原来的对象。这种不可变性使得String对象可以被安全地共享,因为多个引用指向同一个字符串时,无论这个字符串如何被修改,这些引用始终指向同一个字符串。
2.String类用于操作字符串的方法
1.比较字符串
equals():比较两个字符串的内容是否相同,区分大小写。
System.out.print("请输入字符串:");
String aa=scanner.next();
if(aa.equals("zhang")){
System.out.println("相同");
}else {
System.out.println("不同");
}
equalsIgnoreCase():比较两个字符串的内容是否相同,不考虑大小写。
if(aa.equalsIgnoreCase("zhang"))
compareTo():比较两个字符串的大小关系,根据字典顺序排序。
字典顺序是指字符串中各个字符的顺序关系,其中每个字符按照其Unicode编码值进行比较。按照字典顺序,字符串"abc"比字符串"abd"要小,因为'a'的Unicode编码值比'b'的Unicode编码值小。同样地,字符串"bcd"比字符串"abc"要大,因为'b'的Unicode编码值比'a'的Unicode编码值大。在compareTo()方法中,如果两个字符串的内容相同,则它们的比较结果为0;如果第一个字符串小于第二个字符串,则它们的比较结果为负数;如果第一个字符串大于第二个字符串,则它们的比较结果为正数。
Scanner scanner=new Scanner(System.in);
System.out.print("请输入字符串1:");
String aa=scanner.next();
System.out.print("请输入字符串2:");
String bb=scanner.next();
System.out.println(aa.compareTo(bb));
需要注意的是,compareTo()考虑字符串中的大小写。例如,"ABC"和"abc"在compareTo()方法中的比较结果是-32,其他的只要是相同字母不同大小写也一样。
compareToIgnoreCase():比较两个字符串的大小关系,不考虑大小写,根据字典顺序排序。
System.out.println(aa.compareToIgnoreCase(bb));
2.搜索字符串
contains():判断字符串中是否包含指定的子串。
Scanner scanner=new Scanner(System.in);
System.out.print("请输入字符串1:");
String aa=scanner.next();
System.out.print("请输入字符串2:");
String bb=scanner.next();
if (aa.contains(bb)){
System.out.println(aa+"包含"+bb);
}else {
System.out.println(aa+"不包含"+bb);
}
indexOf():返回子串在字符串中第一次出现的位置的索引,如果没有找到则返回-1。
Scanner scanner=new Scanner(System.in);
System.out.print("请输入字符串1:");
String aa=scanner.next();
System.out.print("请输入字符串2:");
String bb=scanner.next();
System.out.println(aa.indexOf(bb));
lastIndexOf():返回子串在字符串中最后一次出现的位置的索引,如果没有找到则返回-1。
System.out.println(aa.lastIndexOf(bb));
startsWith():判断字符串是否以指定的前缀开头。
System.out.println(aa.startsWith(bb));
endsWith():判断字符串是否以指定的后缀结尾。
System.out.println(aa.endsWith(bb));
replaceAll(String regex, String replacement)
是 String
类的一个方法,它用于将字符串中所有匹配给定正则表达式的部分替换为指定的替换字符串。
执行这段代码就会将字符串中的o都替换成0。
replaceFirst(String regex, String replacement)
: 替换字符串中第一次出现的正则表达式匹配的字符串。
这样就会替换字符串中出现的第一个o,替换成0