虽然我还没有踏入职场,但是学习Java以来做了很多的学习笔记,在我所看的各种书籍中对这个问题的回答可谓是各有不同,但是我个人感觉它们说的不是很全面,所以自己结合笔记又总结了一点,如果有不周到的地方,还请各位指教一下;

现在很多人会说==和equals方法的不同之处是:==比较的是两个对象的内存地址,而equals比较的是两个对象的内容是否相同,当然这是相当的片面的,好一点的书籍里面对这两个比较方法的说明大多是:equals 方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,即两个对象的内容是否相等。 ==用于比较引用和比较基本数据类型时具有不同的功能:比较基本数据类型,如果两个值相同,则结果为true,而在比较引用时,如果引用指向内存中的同一对象,结果为true。这样的说明本身来说是可行的,但是可能说的简洁了一点,有一些特殊的情况还是需要加以说明的。

我要补充的一点就是对与自定义类型的相等比较应该如何说明,API里的类大部分都重写了equals方法,没有重写的一般是自己写的类,如果是你自己定义的一个类,比较自定义类用equals和==是一样的,都是比较句柄地址,因为自定义的类是继承于object,而object中的equals就是用==来实现的,你可以看源码。

所以在面试的时候在上面的基础上最好加上自定义类型的情况:对于Object类来说,equals方法相当于 == ;即判断的是两个对象的地址是不是相同;对于继承了Object类的子类来说,只有重写了父类的equals方法的类才是判断两个对象的内容!

我想总结了上面良种的回答,才算是最完整圆满的。最后,希望大家面试顺利,找到自己心仪的工作。

在Java语言里 ==和equals的区别相关推荐

  1. java for循环定义变量,在java语言里for循环里的变量如何声明在外面进行使用。

    在java语言里for循环里的变量如何声明在外面进行使用. 关注:142  答案:2  手机版 解决时间 2021-02-01 21:59 提问者懷念那年夏天 2021-01-31 21:11 pub ...

  2. java ==和=_Java ==和equals()的区别

    前言 本篇文章讲的是从JVM角度比较==和equals的区别 一:** Java数据类型分类** Paste_Image.png 1:基本数据类型 又称为原始数据类型,他们之间的比较应该使用(==), ...

  3. java中的==和equals的区别

    关于JAVA中的==和equals函数的区别 今天在研读Thinking in java 时注意到==和equals的区别,于是就通过查看JDK_API才读懂了他们的区别,于是将心得分享一下,望批评指 ...

  4. java中hashcode和equals的区别和联系

    理解: 规范1:若重写equals(Object obj)方法,有必要重写hashcode()方法,确保通过equals(Object obj)方法判断结果为true的两个对象具备相等的hashcod ...

  5. Java 语言 里如何使用XML,解析XML文本

    <?xml version="1.0" encoding="UTF-8"?> <phones><!-- 手机信息 -->&l ...

  6. java语言里的事件_深入浅析java语言的事件处理

    在JAVA程序设计中,事件的处理是非常重要的,尤其是在需要自定义事件和设计JavaBean时.对事件的处理过程有一个完整的认识对于编程是很有帮助的. 下面用一个演示性的例子来说明事件及其处理过程 一. ...

  7. java字数统计,求大神教我,java语言里的字数统计功能的代码?

    importjava.util.HashMap;importjava.util.Map;publicclassGJJJjjj{publicstaticvoidmain(String[]args){// ...

  8. 面试必问一:Java 中 == 和 equals 的区别你知道吗

    面试必问一:Java 中 == 和 equals 的区别你知道吗 前言 关于这个问题,一般初中级面试中都会遇到,还记得我当初实习找工作的时候也遇到了这个问题,现在都还记得自己是怎么回答的:== 是基本 ...

  9. java语言与其他语言的区别是_Java语言特点有哪些?Java区别其他语言特点详解

    Java语言特点有哪些?Java区别其他语言特点详解 Java是目前最流行的编程语言之一,那你知道为什么Java这么火吗?相比其他编程语言,Java的特点又有哪些呢?跟着小编一起来了解一下吧. 一.简 ...

最新文章

  1. 算法基础知识科普:8大搜索算法之顺序搜索
  2. CSS揭秘之《背景图案》
  3. jquery checkbox attr区别prop
  4. 采用SwipeFreshLayout+Recyclerview实现下拉刷新和上拉加载更多以及CoordinatorLayout的引入
  5. GitHub 上值得前端学习的数据结构与算法项目
  6. 新闻评副高职称条件计算机,新闻系列副高职称评审有哪些条件
  7. 深入JVM虚拟机(四) Java GC收集器
  8. 什么是脏数据?怎样用箱形图分析异常值?终于有人讲明白了
  9. Golang教程:类型
  10. oracle_exporter安装配置,node_exporter安装和配置
  11. Java Script 练习题
  12. 如何将多个Execl表格中的数据汇总到一个表中?
  13. windows服务器如何搭建网站,Windows系列服务器网站搭建详细过程
  14. 计算机三维制图描述零件绘制过程,AutoCAD三维实体零件图绘制
  15. 跨域问题No ‘Access-Control-Allow-Origin‘ header is present on the requested resource.
  16. 文献阅读:利用斯托克斯参量验证光波的偏振态
  17. 青春野狼不做姐控偶像的梦 - 线段树 - 扫描线 - 单调栈
  18. 内存快速分配和慢速分配
  19. Gradle plugin requires a newer IDE able to request IDE model level 3.
  20. Nginx 的入门教程

热门文章

  1. php图片变成代码怎么解决,一段图片处理代码PHP代码转C#代码,该怎么解决
  2. 3_6 CommandMode 命令模式
  3. python中list和str互相转换
  4. 一个字符串中到底能有多少个字符? 我竟然算错了!
  5. 力扣- -阶乘函数后K个零
  6. 【线上分享】华为云视频Cloud Native架构及工程实践
  7. 音视频技术开发周刊 | 165
  8. NAB 2019见闻:CAE视频编码与QoE
  9. TXSQL企业级特性揭秘:加密与审计
  10. apr_file_seek 踩坑