== 是运算符默认的是比较地址 可以与基本数据类型进行比较, 检测地址是否相等
equals是方法,不可以与基本类型比较 默认的是检测两个内容是否相等 当一个类没有重写equals方法时,默认的是object的equals方法此时和==比较是一样,(equals判定字符串判定的内容,)
String s1 = "abc"; String s2 = "abc"; System.out.println(s1 == s2); System.out.println(s1.equals(s2));
输出结果: true true
s1和s2是相同的地址 equals的内容也相同
int a = 100; int b = 100; System.out.println(a == b);
输出: true
equals不能比较基本数据类型 a与b相同会输出true
String s3 = new String("abc"); String s4 = new String("abc"); System.out.println(s3 == s4); System.out.println(s3.equals(s4));
输出 false true
s3和s4创建的对象肯定不是一个地址s3==s4输出false
s3与s4创建对象时的参数相同,equals为true
class Student{ private String name; public Student(String name){ this.name = name; } //重写equals的方法 public boolean equals(Student obj){ return name.equals(obj.name); } }
Student stu1 = new Student("abc"); Student stu2 = new Student("abc"); System.out.println(stu1.equals(stu2));
输出:true
重写equals内容的比较,如果name相同则输出true
相关推荐
java中equals和==的区别.doc java中equals和==的区别.doc
能够加强对java中equals与==区别的理解。
equals和==的区别?equals与==的区别?equals和==有什么区别? Java解惑系列之一--equals和==之间究竟有什么区别 稍微学过一些java的同学都可能在网络上看到这样的一道题: 在java语言当中,equals和==之间究竟有...
equals与==之间的区别,记事本详解
通过例子详细解释java中equals和==区别。实例丰富,适合初学者,便于理解,
java 资料 equals 与== 的区别
Java 中equals和==的区别
java中equals和==的区别.pdf
java中equals和==的比较.pdf
java中equals和==的区别.docx
浅谈Java中的equals和==Java开发Java经验技巧共6页.pdf.zip