Java == 与 equals 的不同
== 比较运算符,可以判断基本类型,也可以判断引用类型
1.判断基本类型 -- 看值是否相等
2.判断引用类型 -- 看地址是否相等 (判断是否为同一个对象。)
(所以判断引用类型存在弊端 -- 引出equals方法)
equals 是Object里面的方法,只能用于判断引用类型,所以运行速度块,准确度高。
默认也是判断地址是否相同。子类 例如String Integer 会重写该方法。
Object 关于 equals的源代码
public boolean equals(Object obj) {return (this == obj);}
String 关于 equals的源代码
public boolean equals(Object anObject) {if (this == anObject) {return true;}if (anObject instanceof String) {String anotherString = (String)anObject;int n = value.length;if (n == anotherString.value.length) {char v1[] = value;char v2[] = anotherString.value;int i = 0;while (n-- != 0) {if (v1[i] != v2[i])return false;i++;}return true;}}return false;}
Integer 关于equals的源代码
public boolean equals(Object obj) {if (obj instanceof Integer) {return value == ((Integer)obj).intValue();}return false;}
这之中的差异
如果对两个具有相同值的对象使用 == 运算符, 返回的结果是false,因为 == 运算符判断的是这两个引用类型的地址是否相同。
Java == 与 equals 的不同相关推荐
- JAVA 中equals()与==的区别
原文地址:http://www.chineselinuxuniversity.net/articles/29594.shtml 值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存 ...
- java的equals方法_Java Date equals()方法与示例
java的equals方法 日期类equals()方法 (Date Class equals() method) equals() method is available in java.util p ...
- java的equals方法_Java LocalDateTime类| 带示例的equals()方法
java的equals方法 LocalDateTime类equals()方法 (LocalDateTime Class equals() method) equals() method is avai ...
- java的equals方法_Java Vector equals()方法与示例
java的equals方法 向量类的equals()方法 (Vector Class equals() method) equals() method is available in java.uti ...
- java的equals方法_Java Duration类| 带示例的equals()方法
java的equals方法 持续时间类equals()方法 (Duration Class equals() method) equals() method is available in java. ...
- Java中equals()方法和==的区别分析
Java中equals方法和==的区别分析 equals(Object obj)方法,将对象与传入的obj进行比较,相等返回true,否则返回false.equals方法和"==" ...
- Java中equals()和“==”区别
Java中equals()和"=="区别 1.对于基础数据类型,使用"=="比较值是否相等: 2.对于复合数据类型(类),使用equals()和"== ...
- Java字符串equals()
Java String equals() method is used to compare this string with the passed object as argument. Java字 ...
- 关于java中equals与==的区别的小实验
java中equals与==经常容易混淆,简单一点说就是equals比较的是值是否相等,是一种方法,==比较的两个对象在JVM中的地址,是一种操作符. 做了几个小实验比较结果. 实验一: String ...
- Java Double equals()方法具有什么功能呢?
转自: Java Double equals()方法具有什么功能呢? 下文笔者将讲述equals()方法的功能简介说明,如下所示: equals()方法的功能 java.lang.Double.equ ...
最新文章
- Android Studio 项目打包成apk时 Signature Version 的选择
- 施耐德电气:2016年数据中心的三大关注领域
- 在将varchar值id转换为int时失败_C++繁琐的类型转换,C++小知识之四种类型转换
- 利用Keras构建自动编码器
- RunWith(SpringJUnit4ClassRunner.class)报错
- oracle 账户 锁定 密码忘记了,Oracle System密码忘记 密码修改、删除账号锁定lock
- linux 怎么创建接口文件,我们如何在Linux上创建多个虚拟接口?
- linux 日志行数,如何实时查看日志文件新增的行数
- 安卓案例:利用XML配置菜单
- 【转载】这是我看过最好的对HTTPS的理解
- 使用Eclipse插件DB viewer进行MySQL(SQL Server)等 数据库操作
- c++程序员面试宝典
- jsp中页面间传汉字参数转码的方法
- 基于LSTM算法的股票预测
- 不安全!!!都2020年了,你的网站还没上HTPPS说得过去吗?
- nginx的工作原理与nginx的配置
- HDOJ 6608 Fansblog
- 实用工具推荐【待更新】
- 时间戳转换成字符串,返回Invalid Date(自己遇到的坑)
- css内联样式_如何覆盖内联CSS样式
热门文章
- vim的强大,vim设置和插件的使用,脱离windows才是王道
- HugeGraph 图数据库索引介绍 - 范围索引,全文索引
- SSD( Single Shot MultiBox Detector)关键源码解析
- Duang,您的钉钉应用已上线!云开发5分钟快速打造钉钉会议室预定系统
- 深入理解C++中的RVO
- 阿里巴巴叔同谈云原生和云计算
- Mendix:低代码与无代码的异同点与用例
- ESL:我们如何使用首云混合云产品实现提效降本
- 大数据 Spark :利用电影观看记录数据,进行电影推荐 | 原力计划
- 看懂云计算、虚拟化和容器,这一篇就够啦!