更新时间:2023年03月30日16时48分 来源:传智教育 浏览次数:
操作字符串时,经常需要对字符串进行一些判断,如判断字符串是否以指定的字符串开始、结束,是否包含指定的字符串,字符串是否为空等。在 String类中针对字符串的判断操作提供了很多方法,接下来通过二个案例来学习这些判断方法的使用,如下所示:
public class Example05 { public static void main(String[] args) { String sl="starter"; //声明一个字符串 String s2 ="St"; System,out.println("判断是否以字符串 st 开头:“+s1startswith("St")); System.out.printin("判断是否以字符串 er结尾:”+slendswith("er")); System.out.printIn("判断是否包含字符串 ar;”+scontains("ar")); System.out.println("判断字符串是否为空:"+sl.isEmpty()); System.out.println("判断两个字符串是否相等:”+sl.equals(s2)); } }
上述涉及的方法都是用于判断字符串的,并且返回值均为 boolean 类型。在所使用的方法中,equals()方法是比较重要的,在 String 类中重写了父类 Object 中的 equals(方法。
在程序中可以通过==和equals)两种方式对字符串进行比较,但这两种方式有明显的区别。equals()方法用于比较两个字符串中的字符值是否相等,-=方法用于比较两个字符串对象的内存地址是否相同。对于两个字符串对象,当它们的字符值完全相同时,使用equals判断结果会是 true,但使用==判断时,结果一定为 false。为了便于理解,下面给出示例代码:
String strl = new String("abc"); String str2 = new String("abc"); //结果为false,因为 str1和str2是两个对象 System.out.println(strl ==str2); //结果为 true,因为strI和 str2字符内容相同 System.out.println(strl.equals(str2));