==和equals方法之间的区别
字符串有字符串常量池的概念,本身就推荐使用String s="字符串", 这种形式来创建字符串对象, 而不是通过new关键字的方式, 因为可以把字符串缓存在字符串常量池中,方便下次使用,不用遇到new就在堆上开辟一块新的空间
有一对双胞胎姐妹,晓苑和晓蕊;普通人分辨不出来他们两个的名字,他们的家人可以分辨出来; equals()像我们普通人,分辨不出来晓苑和晓瑞;看见晓苑以为是晓蕊; ==操作符比作他们的家人,一眼就能辨别出来2人的区别;
String alita = new String("abc");
String luolita = new String("abc");
System.out.println(alita.equals(luolita)); // true
System.out.println(alita == luolita); // false
.equals()
输出的结果为 true,而“==”操作符输出的结果为 false——前者要求内容相等就可以,后者要求必须是同一个对象。
Java 的所有类都默认地继承 Object 这个超类,该类有一个名为 .equals()
的方法。
//Object类的equals()方法默认采用的是==操作符进行比较。假如子类没有重写该方法的话,那么==操作