package cn.yyhl.day10;
/*
==是进行对象地址值的比较,如果确实需要字符串的内容比较,可以使用两个方法:
public boolean equals(Object obj):参数可以是任何对象,
只有参数是一个字符串并且内容相同才会给true;否则返回false.
注意事项:
1.任何对象都能使用Object进行接受。
2.equals方法具有对称性,也就是a.equals(b)和b.equals(a)效果一样
3.如果比较双方一个常量一个变量,推荐把常量字符串写在前面。
推荐:"abc".equals(obj) 不推荐:obj.equals("abc")
public boolean equalsIgnoreCase(String str):忽略大小写,进行内容的比较。
*/
public class String03Equals {
public static void main(String[] args) {
String str = "abc";
String str1 = "abc";
char[] chars = {'a', 'b', 'c'};
String str2 = new String(chars);
System.out.println(str.equals(str1));//true
System.out.println(str1.equals(str2));//true
System.out.println("abc".equals(str));//true
System.out.println(str1.equals("abc"));//true
String str3 = "Abc";
System.out.println(str.equals(str3));//false
System.out.println("===================");
// String str4 = "abc";
String str4 = null;
System.out.println("abc".equals(str4));//推荐:false
// System.out.println(str4.equals("abc"));//不推荐:报错 NullPointerException
System.out.println("=======================");
String strA = "Java";
String strB = "java";
System.out.println(strA.equals(strB));//false严格区分大小写
System.out.println(strA.equalsIgnoreCase(strB));//true忽略大小写
//注意只有英文字母区分大小写,其他都不区分大小写。
System.out.println("abc一123".equalsIgnoreCase("abc壹123"));//false
}
}