== :运算符

  1. 可以使用在基本数据类型变量和引用类型变量中;
  2. 如果比较的是基本数据类型变量,比较两个变量保存的数据是否相等(不一定类型相同,可以自动类型提升);
    eg:
 int i = 10;int j = 10;
double d = 10.0;
System.out.println(i==j);//true
System.out.println(i==d);//true,自动类型提升
  1. 如果比较的是引用数据类型,比较的是两个对象的地址值是否相等,即两个引用是否指向同一个对象实体;
    注:使用" == "时,必须保证两边的变量类型一致,否则编译不通过;
    eg:
System.out.println("hello" == new java.util.Date());

equals():方法

  1. 是一个方法,不是运算符
  2. 只适用于引用数据类型
  3. Object类的equals()方法源码:
  public boolean equals(Object obj){return (this == obj);}

注:Object类中定义的equals()和==作用相同

  1. String、Date、File、包装类等都重写了Object类中的equals()方法。重写后,比较的不是两个引用地址是否相同,而是比较两个对象的“实体内容”是否相同(String,Date等内部属性是否相同)
  2. 通常情况下,自定义的类,如果使用equals()的话,也通常比较的两个对象的“实体内容”是否相同;
    就需要对object类中的equals()进行重写。

eg: 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;
}

“ == “运算符与equals()方法的区别相关推荐

  1. 【Java常识】6.0面向对象认知和Eclipse的实用使用、==号和equals方法的区别

    1.曾经写过很多自以为很通俗易懂的面向对象的解释. 如下是目前最通俗的一种解释: 2.Eclipse的补充解释. 运行的快捷键:F11. 3.Eclipse快捷键大全 大全放本文最后,这里主要放常用的 ...

  2. == 和 equals方法的区别

    == 和 equals方法的区别[面试题] 一.  == 是一个运算符,比较的是数据的关系,可以比较任意数据类型的数据 基本数据类型: 比较就是数据本身的大小关系 引用数据类型 : 比较的是对象的地址 ...

  3. JavaSE学习总结(八)常用类(上)Object类==与equals方法的区别浅克隆的特点Scanner类String类String两种创建对象方式的区别String类的各种功能

    JavaSE学习总结(八)常用类(上)/Object类/==与equals方法的区别/浅克隆的特点/Scanner类/String类/String两种创建对象方式的区别/String类的各种功能 常用 ...

  4. 处理对象(toString()方法详解和==与equals方法的区别)

    处理对象(toString()方法详解和==与equals方法的区别) toString()是一个非常特殊的方法,它是一个自我描述的方法.当程序员直接打印该对象的时候,系统会输出该对象的"自 ...

  5. “==”和equals方法的区别

    在平时写代码是经常使用 "==" 和 equsls ,去很少去想二者的的区别,现在来总结一下. 一.== "=="操作符专门用来比较两个变量的值是否相等,也就是 ...

  6. Java==与equals方法的区别

    摘自:http://www.cnblogs.com/dolphin0520/p/3592500.html 1.对于==,如果作用于基本数据类型的变量,则直接比较其存储的 "值"是否 ...

  7. 自己手动重写的equals方法与自动生成重写的equals方法的区别

    自己手动重写的equals方法会有一些漏洞,比如Man类继承自Person类,当姓名和年龄相同时就认为这两个对象是相同的,当我们用一个Person对象和Man对象去比较,这两个对象肯定应该是不同的,但 ...

  8. java 双等号(==) 与equals方法的使用区别

    java 双等号(==) 与equals方法的区别 == 用于比较基本数据类型时,比较的是值 ==用于比较引用数据类型时,比较的是地址 equals方法在Object类中比较的也是地址,因为在低层也是 ...

  9. Java面试通关要点汇总集答案(七)——equals 与 == 的区别 List 和 Set 区别

    一.equals 与 == 的区别 首先equals和== 最大的区别是一个是方法一个是运算符,在Java中,"=="和Object()类的equals比较的都是物理地址,而不是值 ...

最新文章

  1. PAT(甲级)2018年冬季考试 7-2 Decode Registration Card of PAT
  2. echarts 在.net 中和数据库交互
  3. hadoop-HA集群搭建,启动DataNode,检测启动状态,执行HDFS命令,启动YARN,HDFS权限配置,C++客户端编程,常见错误
  4. mysql 中 and和or 一起使用和之间的优先级
  5. UDP与TCP对比,TCP保证可靠性传输的详细说明
  6. Win-MASM64汇编语言-CMPXCHG指令
  7. 干货 | 深度学习模型超参数搜索实用指南
  8. plsql tables 没有表_技术分享 | 在磁盘上查找 MySQL 表的大小
  9. 设置linux中docker中的mysql开机自动启动
  10. NOI08冬令营 数据结构的提炼与压缩
  11. 【月径流预测】基于matlab人工生态系统算法优化BP神经网络月径流预测【含Matlab源码 2000期】
  12. 如何在桌面添加计算机日历工具,如何在电脑桌面上添加日历小工具?
  13. JavaEE高级框架学习笔记(八)Struts高级ActionForm
  14. HTTPS 免费证书,免费 ssl 证书,FreeSSL.org 申请多种免费证书
  15. JS代码转换d.ts语法
  16. FASTAPI接口服务
  17. awk oracle,工具: ass109.awk 分析 Oracle 的跟踪文件
  18. 找不到XMAP下载地址的进来
  19. Making FIFA Coins with FUT 14 Winter Upgrades
  20. 一文读懂测序技术在新冠病毒检测中的应用(文末附FAQ)

热门文章

  1. 回溯算法之幸运的袋子
  2. Windows消息机制以及相关API
  3. USACO-Section1.3 Milking Cows (区间问题)
  4. 网页文字无法复制解决方法
  5. Python traceback模块的使用(抛异常、报错、输出错误)
  6. python时间的转换及比较
  7. Centos7 修改防火墙,开放端口、转发端口
  8. maven打包不用eclipse插件
  9. C#实现进度条progress control(转载)
  10. iframe高度自适应