==
:比较两个变量本身的值,即两个对象在内存中的首地址。(java中,对象的首地址是它在内存中存放的起始地址,它后面的地址是用来存放它所包含的各个属性的地址,所以内存中会用多个内存块来存放对象的各个参数,而通过这个首地址就可以找到该对象,进而可以找到该对象的各个属性)
equals
: 比较字符串中所包含的内容是否相同。- 案例代码
public class test { public static void main(String[] args) { String s1 = "dzm"; String s2 = "dzm"; String s3 = new String("dzm"); // 相等的 System.out.println(s1 == s2); // true // 不相等,内存地址不一样 System.out.println(s1 == s3); // false // s1 字符串内容包含 s3 System.out.println(s1.equals(s2)); // true // s1 字符串内容包含 s3 System.out.println(s1.equals(s3)); // true } }