JAVA基础:“==”和“equals”的区别
来源:互联网 发布:领啦试用网站源码 编辑:程序博客网 时间:2024/05/17 13:10
“==“:
==如果是比较引用类型,则是比较两个引用是否是指向同一个对象。
"equals": 如果引用equals的类没有重写equals方法,则equals方法和==是一样的意思,即比较两个引用地址是否相等。如果重写,则一般比较的是对象的内容是否相等,具体的视重写的方法而定。
Integer a = new Integer(1);Integer b = new Integer(1);a==b为false,equals为true。
因为a和b分别new了两个对象,所以两个对象的地址是不同的,==为false。equals为ture是因为Integer重写了equals方法。所以直接
比较对象的值。
这是Integer类的源代码中的equals方法,可以看到,当a.equals(b)时,则是先判断b是不是Integer的实例,如果是,则把b强制转换
成integer进行数值比较,如果数值相同则为true
上面的输出为false,因为c并没有重写equals方法,所以相当于是c==cc,比较的内存地址,所以为false
"=="比较基本类型如int的时候,则是比较的值相当。
上面返回true,因为s1创建时,常量池里面有了字符串123,所以当s2创建的时候,则s2直接指向字符串123,所以两个是相等的。这点
要注意
阅读全文
0 0
- Java 学习笔记-基础-"=="和equals()的区别。
- java基础之“==” 和equals()方法的区别
- Java基础回顾: "=="和equals()方法的区别
- java 基础 ==号和equals的区别
- JAVA基础:“==”和“equals”的区别
- java基础—equals和==的区别
- java基础------==和equals的区别
- java基础—==和equals的区别?
- java ==和equals、equals和hashCode的区别
- Equals和==的区别,java
- java == 和 equals的区别
- java ==和equals的区别
- Java "equals"和"=="的区别
- java:equals 和 ==的区别
- Java "==" 和 .equals()的区别
- java == 和equals的区别
- java==和equals()的区别?
- java equals和==的区别
- 2017.08.15总结
- 写给自己的Java程序员学习路线图
- Oracle
- Sticks题解
- IIC && SPI架构浅析
- JAVA基础:“==”和“equals”的区别
- Perlin noise(三)
- jQuery click事件多次触发
- Hdu 6129 Just do it【杨辉三角、规律】
- 跳跃表
- 逆元相关
- 快乐学习(3)
- 过河卒(NOIP2002)
- HDU-2188-悼念512汶川大地震遇难同胞——选拔志愿者 【巴什博弈】