== 比较运算符,可以判断基本类型,也可以判断引用类型

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 的不同相关推荐

  1. JAVA 中equals()与==的区别

    原文地址:http://www.chineselinuxuniversity.net/articles/29594.shtml 值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存 ...

  2. java的equals方法_Java Date equals()方法与示例

    java的equals方法 日期类equals()方法 (Date Class equals() method) equals() method is available in java.util p ...

  3. java的equals方法_Java LocalDateTime类| 带示例的equals()方法

    java的equals方法 LocalDateTime类equals()方法 (LocalDateTime Class equals() method) equals() method is avai ...

  4. java的equals方法_Java Vector equals()方法与示例

    java的equals方法 向量类的equals()方法 (Vector Class equals() method) equals() method is available in java.uti ...

  5. java的equals方法_Java Duration类| 带示例的equals()方法

    java的equals方法 持续时间类equals()方法 (Duration Class equals() method) equals() method is available in java. ...

  6. Java中equals()方法和==的区别分析

    Java中equals方法和==的区别分析 equals(Object obj)方法,将对象与传入的obj进行比较,相等返回true,否则返回false.equals方法和"==" ...

  7. Java中equals()和“==”区别

    Java中equals()和"=="区别 1.对于基础数据类型,使用"=="比较值是否相等: 2.对于复合数据类型(类),使用equals()和"== ...

  8. Java字符串equals()

    Java String equals() method is used to compare this string with the passed object as argument. Java字 ...

  9. 关于java中equals与==的区别的小实验

    java中equals与==经常容易混淆,简单一点说就是equals比较的是值是否相等,是一种方法,==比较的两个对象在JVM中的地址,是一种操作符. 做了几个小实验比较结果. 实验一: String ...

  10. Java Double equals()方法具有什么功能呢?

    转自: Java Double equals()方法具有什么功能呢? 下文笔者将讲述equals()方法的功能简介说明,如下所示: equals()方法的功能 java.lang.Double.equ ...

最新文章

  1. Android Studio 项目打包成apk时 Signature Version 的选择
  2. 施耐德电气:2016年数据中心的三大关注领域
  3. 在将varchar值id转换为int时失败_C++繁琐的类型转换,C++小知识之四种类型转换
  4. 利用Keras构建自动编码器
  5. RunWith(SpringJUnit4ClassRunner.class)报错
  6. oracle 账户 锁定 密码忘记了,Oracle System密码忘记 密码修改、删除账号锁定lock
  7. linux 怎么创建接口文件,我们如何在Linux上创建多个虚拟接口?
  8. linux 日志行数,如何实时查看日志文件新增的行数
  9. 安卓案例:利用XML配置菜单
  10. 【转载】这是我看过最好的对HTTPS的理解
  11. 使用Eclipse插件DB viewer进行MySQL(SQL Server)等 数据库操作
  12. c++程序员面试宝典
  13. jsp中页面间传汉字参数转码的方法
  14. 基于LSTM算法的股票预测
  15. 不安全!!!都2020年了,你的网站还没上HTPPS说得过去吗?
  16. nginx的工作原理与nginx的配置
  17. HDOJ 6608 Fansblog
  18. 实用工具推荐【待更新】
  19. 时间戳转换成字符串,返回Invalid Date(自己遇到的坑)
  20. css内联样式_如何覆盖内联CSS样式

热门文章

  1. vim的强大,vim设置和插件的使用,脱离windows才是王道
  2. HugeGraph 图数据库索引介绍 - 范围索引,全文索引
  3. SSD( Single Shot MultiBox Detector)关键源码解析
  4. Duang,您的钉钉应用已上线!云开发5分钟快速打造钉钉会议室预定系统
  5. 深入理解C++中的RVO
  6. 阿里巴巴叔同谈云原生和云计算
  7. Mendix:低代码与无代码的异同点与用例
  8. ESL:我们如何使用首云混合云产品实现提效降本
  9. 大数据 Spark :利用电影观看记录数据,进行电影推荐 | 原力计划
  10. 看懂云计算、虚拟化和容器,这一篇就够啦!