Java equals 与 == 的区别

更多 Java 基础知识方面的文章,请参见文集《Java 基础知识》


相等于 ==

  • 对于基本数据类型,比较其存储的值是否相等
  • 对于引用数据类型,比较其指向的对象的地址是否相等

equals() 方法

  • 对于基本数据类型,不能使用 equals 方法
  • 对于引用数据类型:
    • 如果没有重写 equals() 方法,比较其指向的对象的地址是否相等
    • 如果重写了 equals() 方法,则可以比较具体内容,例如 String, Integer, Double, Date
  • equals() - 返回 boolean
    • 自反
    • 对称
    • 传递

示例:

String s1 = new String("123");
String s2 = new String("123");
String s3 = new String("123");

System.out.println(s1 == s2); // False,不同的对象,地址不同
System.out.println(s1.equals(s2)); // True,重写了 equals 方法,比较内容

s1 = s3;
s2 = s3;
System.out.println(s1 == s2); // True,指向了同一个对象,地址相同
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,805评论 18 399
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,394评论 11 349
  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 4,295评论 0 16
  • 文章作者:Tyan博客:noahsnail.com | CSDN | 简书 CHAPTER3 Method...
    SnailTyan阅读 751评论 1 4
  • 最近的只言片语,零碎的感想,还没有想好应该怎么串联起来,也如实地写上,展现真实自己的想法。 希望你们也会有共鸣,也...
    成成小小阅读 105评论 0 0