Java中==与equals的区别小结

 更新时间:2015年06月12日 08:57:45   投稿:junjie  
这篇文章主要介绍了Java中==与equals的区别小结,本文总结结论:== 与 equals()比较的内容是不同的,equals()方式是String类中的方法,它用于比较两个对象引用所指的内容是否相等,而 == 比较的是两个对象引用的地址是否相等,需要的朋友可以参考下
public class Compare { 
 
  /** 
   * == 与 equals()区别 
   */ 
  public static void main(String[] args) { 
    String s1 = new String("Hello,World!"); //创建两个String型对象引用; 
    String s2 = new String("Hello,World!"); 
     
    String s3 = s1;             //将s1对象引用赋予s3 
     
    System.out.println("s2==s3的运算结果为:" + (s2==s3)); //地址不一样 
    System.out.println("s1==s3的运算结果为:" + (s1==s3)); //地址一样 
        System.out.println("s2.equals(s3)的运算结果为:"+(s2.equals(s3)));//内容一样 
  } 
} 

s2==s3的运算结果为:false 
s1==s3的运算结果为:true 
s2.equals(s3)的运算结果为:true 

总结:

== 与 equals()比较的内容是不同的,equals()方式是String类中的方法,它用于比较两个对象引用所指的内容是否相等;而 == 比较的是两个对象引用的地址是否相等。由于s1与s2是两个不同的对象引用,两者在内存中的位置不同,而String s3 =s1语句,将s1的引用赋给s3,所以s1与s3这两个对象引用是相等的。

相关文章

  • MyBatis的注解使用、ORM层优化方式(懒加载和缓存)

    MyBatis的注解使用、ORM层优化方式(懒加载和缓存)

    这篇文章主要介绍了MyBatis的注解使用、ORM层优化方式(懒加载和缓存),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • 关于线程池创建、执行、销毁的原理及分析

    关于线程池创建、执行、销毁的原理及分析

    这篇文章主要介绍了关于线程池创建、执行、销毁的原理及分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • spring boot中使用@Async实现异步调用任务

    spring boot中使用@Async实现异步调用任务

    本篇文章主要介绍了spring boot中使用@Async实现异步调用任务,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • springboot项目引入外部jar包的详细图文教程

    springboot项目引入外部jar包的详细图文教程

    在项目中有时候需要引入外部jar包,启动运行,下面这篇文章主要给大家介绍了关于springboot项目引入外部jar包的详细图文教程,需要的朋友可以参考下
    2023-09-09
  • mybatis-plus 表名添加前缀的实现方法

    mybatis-plus 表名添加前缀的实现方法

    这篇文章主要介绍了mybatis-plus 表名添加前缀的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 使用@Value为静态变量导入并使用导入的静态变量进行初始化方式

    使用@Value为静态变量导入并使用导入的静态变量进行初始化方式

    这篇文章主要介绍了使用@Value为静态变量导入并使用导入的静态变量进行初始化方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 浅析Java虚拟机详解之概述、对象生存法则

    浅析Java虚拟机详解之概述、对象生存法则

    这篇文章主要介绍了Java虚拟机详解之概述、对象生存法则,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • 解决JavaWeb-file.isDirectory()遇到的坑问题

    解决JavaWeb-file.isDirectory()遇到的坑问题

    JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文件夹,若路径不存在,无论其实际是否应为文件夹,均会返回`false`,为了解决这个问题,可以采用正则表达式进行判断,但要求路径字符串的结尾必须添加反斜杠(\)
    2025-02-02
  • 详解Java如何优雅地书写if-else

    详解Java如何优雅地书写if-else

    在日常开发中我们常常遇到有多个if else的情况,之间书写显得代码冗余难看,对于追求更高质量代码的同学,就会思考如何优雅地处理这种代码。本文我们就来探讨下几种优化if else的方法
    2022-08-08
  • Java深入讲解AWT实现事件处理流程

    Java深入讲解AWT实现事件处理流程

    AWT的事件处理是一种委派式事件处理方式:普通组件(事件源)将整个事件处理委托给特定的对象(事件监听器);当该事件源发生指定的事件时,就通知所委托的事件监听器,由事件监听器来处理这个事件
    2022-04-04

最新评论