关于equal和==
最近面试的时候总是遇到这个问题的笔试,以前学的时候没有深究,现在是时候来总结一下了
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和==相关推荐
- java equal hashcode_Java(二)equal 和 hashcode使用
一.hashCode()和equals()是什么? hashCode()方法和equals()方法的作用其实一样,在Java里都是用来对比两个对象是否相等一致. Equal 没有重写的equal 使用 ...
- 讨论JDK的File.equal()
我们一般比较两个文件中的对象是相同的文件,通常使用java.io.File.equal().这里,equal()是不是文件内容的比较结果为.象是否指向同一个文件. File的equal()方法.实际上 ...
- 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 ...
- 语义分割--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 本文针 ...
- logic:equal 标签的使用(转)
<logic:equal name="music" property="distrubute" value="true"> ...
- 记录由Equal基础知识引起的内存泄露
在最近的公司框架开发中,利用了网上某大牛的反射缓存库作为辅助.在测试的时候发现出现了巨大的内存泄露,在频繁的操作后,内存不断的产生巨大的开销,10多分钟就占有了5,6m的内存.解决问题的时,公司不能上 ...
- 无法解决 equal to 操作中 SQL_Latin1_General_CP1_CI_AS 和 Chinese_PRC_CI_AS 之间的排序规则冲突。...
一个旧有系统需要从另一个新系统获取数据.由于两个系统数据库的的排序规规则不同.在存储过程中SELECT数据时,引发了"无法解决 equal to 操作中 "SQL_Latin1_G ...
- LeetCode Minimum Moves to Equal Array Elements II
原题链接在这里:https://leetcode.com/problems/minimum-moves-to-equal-array-elements-ii/ 题目: Given a non-empt ...
- C#中的==、Equal、ReferenceEqual(转载)
1. ReferenceEquals, == , Equals Equals , == , ReferenceEquals都可以用于判断两个对象的个体是不是相等. a) ReferenceEqual ...
- 【Vegas原创】“無法解析 equal to 動作的定序衝突”错误的处理
错误:無法解析 equal to 動作的定序衝突. COLLATE Chinese_Taiwan_Stroke_CI_AS 用法: select @EMP_ID=emp_id from am_empl ...
最新文章
- Daily Storm - 31/10/12
- [洛谷P4721]【模板】分治 FFT
- bitmapdata转成bytearray
- 人工智能产品化的关键是基础架构和数据,而非算法
- 畅享云游戏,AWS云峰会邀你零距离体验强化学习!
- 無法在 module_path 中找出佈景主題引擎:‘clearlooks’,
- 如何让程序跑起来――第三章
- css 浮动和清除浮动
- linux共享文件可读写,在Ubuntu中设置samba共享可读写文件夹
- hadoop--集群配置/群起集群
- VS2008SP1中CDialogEx的使用问题及解决
- VMware ESXi 嵌套虚拟化 部署问题总结
- 鸿蒙系统华为mate10,从3899跌至1040,2K分辨率+4000mAh,可升级鸿蒙系统
- 敏捷开发一千零一问系列之十三:故事点好还是人天好?
- Obejctive-C 2.0 Mac和iOS开发实践指南(Objective-C 2.0最佳入门指南)
- 关于LeNet-5卷积神经网络 S2层与C3层连接的参数计算的思考???
- Linux学习笔记3 - 目录和文件管理
- 搭建NB-IoT中国电信物联网开放平台实验环境
- JNI/NDK入门指南之JNI数据类型,描述符详解
- 2021年中国果汁产量、需求量及主要类型贸易情况分析[图]
热门文章
- 玻璃材料封接工艺技术介绍-电连接器封装形式
- efficientnet
- SpringBoot 与 Kotlin 完美交融
- 名片夹android布局代码,自制控件4——仿名片全能王iOS下拉名片详情
- AEC、AGC、ANS是什么意思?
- ubuntu 16 打开 dmg 文件
- Wireshark抓取ping包
- MDK编译报错Error: L6218E: Undefined symbol main (referred from __rtentry2.o)
- Python中的切片(详细篇)学起来喔
- PPT修改尺寸(修改幻灯片大小)