最近面试的时候总是遇到这个问题的笔试,以前学的时候没有深究,现在是时候来总结一下了

1.基本类型和包装类

诸如

        new Integer(32)==32new Integer(32).equal(32)...

此时==比较的就是具体的值,所以在此包装类和基本类型就没有区别,且各包装类和各基本类型可以互等,例:

new Integer(32) == 32f;
new Float(32f) ==32d;
new Double(32d) == 32;
//例子只举了3个,其他的自己触类旁通
...

再来看看equal,看了源码,发现包装类的equal都是先进行了 instanceof 判断,之后才是进行值的比较,例:

new Integer(32).equal(new Integer(32));
//instanceof通过,之后比值,为true
new Integer(32).equal(new Float(32f));
//instanceof 不通过,为flase
new Integer(32).equal(32f);
//instanceof 不通过,为flase
new Integer(32).equal(32);
//instanceof 通过,比值,为true
//至于其他的自己触类旁通,其他包装类不再举例

2.包装类和包装类

new Integer(32) .equals( new Integer(32))
//instanceof 通过,比值,为true
new Integer(32) == new Integer(32);
//这时候直接比较的就是类,类与类一般是不会==的, 为false
new Integer(32) .equals( new Float(32f))
//instanceof 不通过,为false
new Integer(32) == new Float(32f);
//这就很明显为false了

3.基本类型和基本类型

这个就很明显了,基本都成立

32==32f;
32==32d;
//其他不再举例
...

总结:

在真实值相等的情况下(32与32.0,32f…),==在类与类直接比较时总为false,毕竟内存地址不同,在基本类型都为true,equal方法需先考虑是否通过 instanceof ,之后再进行比值。

关于equal和==相关推荐

  1. java equal hashcode_Java(二)equal 和 hashcode使用

    一.hashCode()和equals()是什么? hashCode()方法和equals()方法的作用其实一样,在Java里都是用来对比两个对象是否相等一致. Equal 没有重写的equal 使用 ...

  2. 讨论JDK的File.equal()

    我们一般比较两个文件中的对象是相同的文件,通常使用java.io.File.equal().这里,equal()是不是文件内容的比较结果为.象是否指向同一个文件. File的equal()方法.实际上 ...

  3. RuntimeError: each element in list of batch should be of equal size

    RuntimeError: each element in list of batch should be of equal size 示例代码: import os import re from t ...

  4. 语义分割--Not All Pixels Are Equal:Difficulty-Aware Semantic Segmentation via Deep Layer Cascade

    Not All Pixels Are Equal: Difficulty-Aware Semantic Segmentation via Deep Layer Cascade CVPR2017 本文针 ...

  5. logic:equal 标签的使用(转)

    <logic:equal name="music" property="distrubute" value="true">    ...

  6. 记录由Equal基础知识引起的内存泄露

    在最近的公司框架开发中,利用了网上某大牛的反射缓存库作为辅助.在测试的时候发现出现了巨大的内存泄露,在频繁的操作后,内存不断的产生巨大的开销,10多分钟就占有了5,6m的内存.解决问题的时,公司不能上 ...

  7. 无法解决 equal to 操作中 SQL_Latin1_General_CP1_CI_AS 和 Chinese_PRC_CI_AS 之间的排序规则冲突。...

    一个旧有系统需要从另一个新系统获取数据.由于两个系统数据库的的排序规规则不同.在存储过程中SELECT数据时,引发了"无法解决 equal to 操作中 "SQL_Latin1_G ...

  8. LeetCode Minimum Moves to Equal Array Elements II

    原题链接在这里:https://leetcode.com/problems/minimum-moves-to-equal-array-elements-ii/ 题目: Given a non-empt ...

  9. C#中的==、Equal、ReferenceEqual(转载)

    1. ReferenceEquals, == , Equals  Equals , == , ReferenceEquals都可以用于判断两个对象的个体是不是相等. a) ReferenceEqual ...

  10. 【Vegas原创】“無法解析 equal to 動作的定序衝突”错误的处理

    错误:無法解析 equal to 動作的定序衝突. COLLATE Chinese_Taiwan_Stroke_CI_AS 用法: select @EMP_ID=emp_id from am_empl ...

最新文章

  1. Daily Storm - 31/10/12
  2. [洛谷P4721]【模板】分治 FFT
  3. bitmapdata转成bytearray
  4. 人工智能产品化的关键是基础架构和数据,而非算法
  5. 畅享云游戏,AWS云峰会邀你零距离体验强化学习!
  6. 無法在 module_path 中找出佈景主題引擎:‘clearlooks’,
  7. 如何让程序跑起来――第三章
  8. css 浮动和清除浮动
  9. linux共享文件可读写,在Ubuntu中设置samba共享可读写文件夹
  10. hadoop--集群配置/群起集群
  11. VS2008SP1中CDialogEx的使用问题及解决
  12. VMware ESXi 嵌套虚拟化 部署问题总结
  13. 鸿蒙系统华为mate10,从3899跌至1040,2K分辨率+4000mAh,可升级鸿蒙系统
  14. 敏捷开发一千零一问系列之十三:故事点好还是人天好?
  15. Obejctive-C 2.0 Mac和iOS开发实践指南(Objective-C 2.0最佳入门指南)
  16. 关于LeNet-5卷积神经网络 S2层与C3层连接的参数计算的思考???
  17. Linux学习笔记3 - 目录和文件管理
  18. 搭建NB-IoT中国电信物联网开放平台实验环境
  19. JNI/NDK入门指南之JNI数据类型,描述符详解
  20. 2021年中国果汁产量、需求量及主要类型贸易情况分析[图]

热门文章

  1. 玻璃材料封接工艺技术介绍-电连接器封装形式
  2. efficientnet
  3. SpringBoot 与 Kotlin 完美交融
  4. 名片夹android布局代码,自制控件4——仿名片全能王iOS下拉名片详情
  5. AEC、AGC、ANS是什么意思?
  6. ubuntu 16 打开 dmg 文件
  7. Wireshark抓取ping包
  8. MDK编译报错Error: L6218E: Undefined symbol main (referred from __rtentry2.o)
  9. Python中的切片(详细篇)学起来喔
  10. PPT修改尺寸(修改幻灯片大小)