举例:
1.对于引用类型来说,==进行的是地址值的比较。
2.双引号直接写的字符串在常量池当中,new的不在池当中。
字符串的比较相关方法:
==是进行对象的地址值比较,如果确实需要字符串的内容比较,可以使用两个方法:
public booLean equals(0bject obj),参数可以是任何对象,只有参数是一个字符串并且内容相同的才会给true,否则返回false
注意事项:
任何对象都能用object进行接收。
equals方法具有对称性,也就是a.equals(b)和b.equals(a)效果一样。
如果比较双方一个常量一个变量,推荐把常量字符串写在前面。
推荐:"abc".equals(str)不推荐:str.equals( "abc"")
public boolean equalsIgnoreCase(String str):忽略大小写,进行内容比较。
举例:
String s1 = "Hello"; String s2 = "Hello"; char[] charArray ={'H','e','l','l','o'}; String s3 = new String(charArray); System.out.println(s1.equals(s2)); System.out.println(s2.equals(s3)); System.out.println(s3.equals(s1)); String st4 = "Hello"; System.out.println(s1.equals(st4)); System.out.println("+++++++++++++++++++++++"); String s5 = null; System.out.println("abc".equals(s5)); System.out.println("======================="); String sA = "Java"; String sB = "Java"; System.out.println(sA.equals(sB)); System.out.println(sA.equalsIgnoreCase(sB)); System.out.println("abc——123".equalsIgnoreCase("abc壹123"));