操作字符串时,经常需要对字符串进行一些判断,如判断学符串是否以指定的字符串开始、结束,是否包含指定的字符串,字符串是否为空等。
ExampleAPI05 :
public class ExampleAPI05 {
public static void main(String[] args) {
String s1 = "String"; //声明一个字符串
String s2 = "Str";
System.out.println("判断是否以字符串 Str 开头:"+s1.startsWith("Str"));
System.out.println("判断是否以字符串 ng 结尾:"+s1.endsWith("ng"));
System.out.println("判断是否包含字符串 tri:"+s1.contains("tri"));
System.out.println("判断字符串是否为空:"+s1.isEmpty());
System.out.println("判断字符串是否相等:"+s1.equals(s2));
//**这里用于理解 == 和 equals() 的区别 **//
String str1 = new String("abc");
String str2 = new String("abc");
System.out.println(str1==str2);
//结果为 false,因为 str1 和 str2是两个对象
System.out.println(str1.equals(str2));
//结果为 true,因为 str1 和 str2字符内容相同
}
}
在程序中可以通过==和 equals ()两种方式对字符串进行比较、但这两种方式右明显的区别。
equals()方法用于比较两个字符串中的字符是否相等,==方法用于比较两个字符串对象的地址是否相同。
对于两个字符串对象,当它们的字符内容完全相同时使用 equals 判断结果会为 true ,但使用==判断时,结果一定为 false 。