• java基础中关于=和equals的区别


    两个基本类型变量相比较,=是比较它们的值是否相等

    两个对象相比是比较他们的地址值是否相等

    equals()是比较对象的属性值是否相等,前提是这两个对象必须重写object对象的equals方法,object对象是所有对象的基类,也就是所有对象都继承了object对象,如果不重写equals方法,object对象原有的equals方法作用和=是一样的

    基本类型是没有equals方法的,除非是他的包装类

    例如 int num=10,int num2=10,=的作用就是比较10和10是否相等

    现在创建两个对象

    student stu1=new student("李明","男");

    student stu2=new student("詹尼","男");

    假如stu1在栈内存存储的地址值xx0214,stu2在栈内存存储的地址值是xy241

    =比较就是xx0214和xy241是否相等,而equals就是比较他们的属性值了,对象都是存储在堆内存里面的,而栈内存里面只是存放他们的对应的地址值,当使用对象的时候都是先去栈内存里面拿得到它的地址值然后去堆内存里面找

  • 相关阅读:
    Pyton 练习题2
    Python 知识点练习
    pycharm 汉化
    关于sublime编辑Python的安装与配置
    python练习题
    虚短和虚断
    OSI的7层协议
    5V电压的制作
    三角波,方波,正弦波的转换
    单片机不工作,晶振是否起振怎么检查
  • 原文地址:https://www.cnblogs.com/zhangxiaozhen/p/9703931.html
Copyright © 2020-2023  润新知