• Java:Java中equlas和==的区别


    ==

    比较的是栈内存的地址值用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。

    基本数据类型如:byte,short,char,int,long,float,double,boolean的值存储在栈内存中,所以==也可以比较基本数据类型的值。

    equals

    比较的是两个对象的堆内存的值,由于所有的类都是继承自java.lang.Object类的,所以适用于所有对象,如果没有对该方法进行覆盖的话,调用的仍然是Object类中的方法,而Object中的equals方法返回的却是==的判断。

    引用数据类型如:接口、类、数组等非基本数据类型每new一次就会重新开辟一个新的堆内存空间,equals比较的是对象的堆内存值。

  • 相关阅读:
    第5周作业
    第四周JAVA作业
    第三周JAVA学习
    第二周JAVA学习日志
    有关JAVA学习
    Swift 页面跳转
    Swift 登录判断
    单元测试学习
    WCF学习心得
    初次使用Oracle
  • 原文地址:https://www.cnblogs.com/nhdlb/p/12207775.html
Copyright © 2020-2023  润新知