equals()的理解
equals()比较的是同一个类型的两个不同对象里的属性们是否都相等,相等返回true,否则返回false。
API中某些常用的类(如String、Date、File、包装类等)都已经重写了Object类中的equals()方法,所以可以直接调用,而自己定义的类没有重写,需要的话就自己重写equals(),快捷键(在Eclipce中Alt Shift S)按一下就写好了。

面试题:==和equals()的区别
1、= =:是运算符。 既可以比较基本类型也可以比较引用类型。对于基本类型就是比较值,而引用类型就是比较内存地址。并且必须保证符号左右两边的变量类型一致,即都是比较基本类型,或者都是比较引用类型。
2、equals():是java.lang.Object类里面的方法。只能适用于引用数据类型。如果类的该方法没有被重写过默认也是= =

例子

 private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public Customer() {super();}public Customer(String name, int age) {super();this.name = name;this.age = age;}//自动生成的equals()@Overridepublic boolean equals(Object obj) {  // 用传进来的对象做比较if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;Customer other = (Customer) obj;if (age != other.age)return false;if (name == null) {if (other.name != null)return false;} else if (!name.equals(other.name))return false;return true;}@Overridepublic String toString() {return "Customer [name=" + name + ", age=" + age + "]";}
}
    public static void main(String[] args) { Customer cust1 = new Customer("Tom",21);Customer cust2 = new Customer("Tom",21);System.out.println(cust1.equals(cust2)); //true(因为没有重写就是false,因为调用的是Object父类的equals,这比较的是 == ,是地址值,重写了equals方法才是对比里面的具体内容)。}

equals()的理解相关推荐

  1. C# == equals 本质理解

    C# == equals 本质理解 using System; using System.Diagnostics; using System.Text; using System.Collection ...

  2. java中equals的理解(1)

    在Java字符串那些事儿一文发表后,朋友给我留言说:比较字符串用equals不就完了呗,干嘛要用"==",吃饱了撑的,能不能来点实际的.其实在文章里我是想表明,Java字符串两种声 ...

  3. 【Java】浅析equals()和hashCode()

    总览equals( ) 方法 理解equals()方法和==运算符的区别是非常重要的. 默认情况下(即没有被重写时)equals()只能比较引用类型,"=="既能 比较引用类型又能 ...

  4. java 夯实基础_夯实基础-java equals使用,和 == 的区别

    在研究hashcode的用法,发现自己对equals的理解还不够深,废话少说,继续专研,记录如下: 要想搞清楚equals和==的区别,就先要搞清楚JAVA的数据类型: java的数据类型只要分两大类 ...

  5. 我理解的Java栈与堆,String类

    无意间在CSDN上看到一篇说栈与堆的文章,欣然取之,后来发现里面有些东西确实还有待推敲. 再看看评论,看到了高手的详解.我整合了一下,加上自己的理解,现在贴上来,希望多多赐教. 1. 栈(stack) ...

  6. Lombok的@Data注解自动重写equals

    我所遇到的问题: 当我看到Lombok的@EqualsAndHashCode注解可以重写equals和hashcode时,就像自己操作一下. 然后... package domain;import l ...

  7. StringUtils.isBlank,equals与==的判断参数分析

    StringUtils之isBlank分析 StringUtils之equals分析 String.equals报java.lang.NullPointerException 本篇为总结篇,看不懂结合 ...

  8. Java干货的“聚宝盆”!各种细节!!

    1.spring和springMVC的区别~ 2.serialVersionUID的作用? 3.Servlet的本质是什么? 4.Spring IOC的理解,超到位! 5.十大经典排序算法(动图演示! ...

  9. README-architect

    <后端架构师技术图谱> 更新于20180916 数据结构 队列 集合 链表.数组 字典.关联数组 栈 树 二叉树 完全二叉树 平衡二叉树 二叉查找树(BST) 红黑树 B,B+,B*树 L ...

最新文章

  1. hadoop cdh 4.5的安装配置
  2. java配置文件中的plugin,启用ContextReplacementPlugin以忽略webpack中的配置和测试设置文件...
  3. zabbix监控vsftp服务,发生故障并自动恢复
  4. 基于线性筛的Pollard_rho 因数分解算法【例题】
  5. ACM学习历程—HihoCoder1309任务分配(排序 贪心)
  6. spring-注解实现入门
  7. EDS之后的block
  8. AndroidTelephony学习大纲
  9. layui横向时间线_操盘线:线上阴线满仓,线下阳线清仓
  10. 「本地搭建」worpress博客系统
  11. kail linux暴力破解wifi
  12. 孤儿进程与僵尸进程产生及其处理
  13. 先发新机再搞碰瓷,酷派复活就有胜算?
  14. PHP 7从零基础到项目实战,PHP 7从零基础到项目实战
  15. 绘制logo软件-AI(illustrator)
  16. 关于反三角函数在0点的高阶导数
  17. cairosvg在linux中的安装_Cairo编程
  18. vue 使用vue-canvas-poster生成自定义海报
  19. 解决笔记本IPS屏幕发黄问题
  20. 问题解决:VScode在使用中文输入法时出现vim insert模式变成vim normal的奇怪现象( jj 映射成esc)

热门文章

  1. 严格模式、混杂模式与怪异模式
  2. 如何给金蝶kis记账王新增凭证字
  3. 论文阅读【6】Autoaugment: Learning augmentation strategies from data
  4. 【图文】锅包肉的做法大全,怎么做如何做好吃_锅包肉的家常做法视频和由来...
  5. 【技巧 二进制分组】bzoj4398: 福慧双修2407: 探险
  6. 真·富文本编辑器的演进之路-Span开胃菜
  7. 解析v-if和v-show的区别和使用场景
  8. php拼音排序,php数组如何按拼音顺序排序
  9. 《北大青鸟 基于.NET的WEB程序设计 视频教程》32集全部
  10. 生活中软件易用性的例子_大学生活中那些堪称神器的软件,真实且好用,生活学习必备...