Java包装类中的equals方法

基本数据类型包装类中的equals方法用于比对相同包装类中的值是否相等,如果两者比较的包装类类型不同则返回false;

1、基本型和基本型封装型进行“==”运算符的比较,基本型封装型将会自动拆箱变为基本型后再进行比较,

2.两个包裝类型的对象进行“==”比较时,如果有一方的对象是new获得的,返回false,因为引用地址不同。

3、两个基本型的包装类型进行equals()比较,首先equals()会比较类型,如果类型相同,则继续比较值,如果值也相同,返回true。

4、包装类型调用equals()方法,但是参数是基本类型,这时候,先会进行自动装箱,将基本型转换为其包装类型,若类型不同返回false,
若装箱后类型相同,则比较值,如果值相同,则返回true,否则返回false。

源码如下:

Byte

public boolean equals(Object obj) {if (obj instanceof Byte) {return value == ((Byte)obj).byteValue();}return false;}

Short

    public boolean equals(Object obj) {if (obj instanceof Short) {return value == ((Short)obj).shortValue();}return false;}

Integer

 public boolean equals(Object obj) {if (obj instanceof Integer) {return value == ((Integer)obj).intValue();}return false;}

Long

 public boolean equals(Object obj) {if (obj instanceof Long) {return value == ((Long)obj).longValue();}return false;}

Float

 public boolean equals(Object obj) {return (obj instanceof Float)&& (floatToIntBits(((Float)obj).value) == floatToIntBits(value));}

Double

 public boolean equals(Object obj) {return (obj instanceof Double)&& (doubleToLongBits(((Double)obj).value) ==doubleToLongBits(value));}

Charater

  public boolean equals(Object obj) {if (obj instanceof Character) {return value == ((Character)obj).charValue();}return false;}

Boolean

  public static boolean parseBoolean(String s) {return ((s != null) && s.equalsIgnoreCase("true"));}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/555430.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 开源图表动画,Android 图表开发开源库MPAndroidChart-Go语言中文社区

上面是APP中实现的效果图(点击可以放大查看)图1的效果不是用这个实现的,如果感兴趣可以参考我这篇文章 Android渐变圆环总体来说,MPAndroidChart可能是目前Android 开发最好用的一个三方库了,功能非常强大,集成简单。直接导入作为…

电脑开启防火墙后ping不通 及 开启防火墙后,不能远程的解决办法

有些情况下电脑需要开防火墙但是又希望能被远程或者ping通。 一、先查看电脑的网络类型(第二步中打开对应网络类型下的协议) 二、控制面板 - Windows防火墙 - 高级设置-入站规则 (1)开启防火墙后,能ping通设置。 &…

android 时间应用程序,Android在首次启动时需要更多时间启动应用程序

在我的项目中,我使用了需要multidex支持的库。 根据我的研究,我发现它会导致应用启动时出现延迟。我在gradle中启用了multidexfunction。 defaultConfig {multiDexEnabled true}我曾经为kitkat设备获得NoClassDefFound Exception,所以我添加了…

Mysql中用between...and...查询日期时注意事项

select count(1) from user where regist_date between 2017-07-25 00:00:00 and 2017-07-25 24:00:00;这条sql语句查询出结果为0。实际上数据库有一条符合该查询条件的数据。 错误原因:2017-07-25 24:00:00 晚上24点即为下一天00点 2017-07-26 00:00:00&#xff0…

android core log,Android 日志系统(Logcat)的实现分析

这篇说一下Android 日志系统的实现:1. Android中的打印分为4个缓冲区和6个打印等级,在frameworks\base\core\java\android\util\Log.java中有定义:四缓冲:public static final int LOG_ID_MAIN 0;public static final int LOG_ID…

Java接口的几种常见用法

接口(interface)对于面向对象编程来说是一个非常重要的概念。它是一系列方法的声明,却没有具体实现。有些编程语言,比如swift,把接口解释成“协议(protocol)”,我觉得也是非常的恰当…

android矢量图 内存大,Android内存控制小技巧-使用矢量图来节省你的内存并简化你的开发。...

先上一个 位图和矢量图的 说明。外链网址已屏蔽维基百科里面有更详细的说明 我就不贴地址了。简单来说就是位图 比 矢量图要大。但是位图可以适用于各种场景。但是矢量图就只能显示一些有规律的图形。复杂的做不了或者是很难做。对于android来说,我们一般app里面 会…

linux下利用nohup后台运行jar文件包程序

Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 java -jar XXX.jar & &am…

idea 快捷键代码行标记并快捷跳到标记行

idea有一个组合快捷键 标记代码行(左边的行数会出现一个1,代表着已经标记了) ctrlshift1 迅速跳到标记行 ctrl1 这边给大家送上显示GIF

android十进制转十六进制算法,十进制转十六进制 代码

5621转换为16进制数的方法是“除16取余”方法,5621/16=商351余5,16进制最后一位为5351/16=商21余15,16进制右边第二位为F21/16=商1余5,16进制右边第三位为51/16=商0余1,1…

鸿蒙之火是什么意思,鸿蒙突然火了!鸿蒙是什么?

原标题:"鸿蒙"突然火了!"鸿蒙"是什么?什么是鸿蒙?鸿蒙是什么?很多人都在发问,仿佛一夜之间就火了的鸿蒙有何独特之处?鸿蒙是真的来了。鸿蒙是文化,鸿蒙也是科技…

String类的indexOf方法的用法和举例

String类的indexof方法的作用和返回值: 今天在这里重点回顾一下,希望对大家能有所帮助: indexOf(int,ch) 先看第一个indexOf它返回值是int,在看它的参数(int,ch&#x…

java中String对象作为参数传递问题

问题 java中将对象作为参数传递究竟是值传递还是引用传递? 1、基本类型作为参数传递时,是传递值的拷贝,无论你怎么改变这个拷贝,原值是不会改变的。 2、对象作为参数传递时,是把对象在内存中的地址拷贝了一份传给了参…

html语言怎么办到直接手写,4、手写HTML语言代码之《文字处理》

千里之堤始于足下!!学习网页制作的心得体会4.........手写HTML语言代码之《文字处理》一、和(居中对齐)下面网页我的第一个网页教师自制教学软件的背景随着教育体制的改革和信息时代的到来,可能越来越多的同学己经不再适应看着教师的板书、记着笔记的学习方式&#…

接口interface修饰符相关问题总结

1、抽象类中的抽象方法(其前有abstract修饰)不能用private、static、synchronized、native访问修饰符修饰。 原因如下: 抽象方法没有方法体,是用来被继承的,所以不能用private修饰;static修饰的方法可以通…

html纵向字幕无缝滚动,HTMl中marquee标签实现无缝滚动跑马灯效果示例

本篇文章小编给大家分享一下HTMl中marquee标签实现无缝滚动跑马灯效果示例,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。标签,它是成对出现的标签,首标签和尾标签之间的内容就是滚动内容。…

Java字符串池(String Pool)深度解析

在工作中,String类是我们使用频率非常高的一种对象类型。JVM为了提升性能和减少内存开销,避免字符串的重复创建,其维护了一块特殊的内存空间,这就是我们今天要讨论的核心,即字符串池(String Pool&#xff0…

优酷html5视频网站,国内主要视频网站的嵌入方式

来一篇水文,整理一下国内各大视频网站的视频嵌入方式,或许有一点用处。爱奇艺、优酷、搜狐视频、腾讯视频、酷6、土豆、乐视。这些视频站绝大多数都采用 Flash 的方式播放,很多也提供了 iframe 的播放方式。根据最新标准应当使用 &#xff0c…

Java中取余(%)和取模(Math.floorMod)的区别

之前一直都认为取模和取余是一样的,甚至还怀疑设计语言的大神们不是脑子有问题么,为什么要整两个一样的东西,现在想想还是自己太 low了,竟然不能 get 到大神们的良苦用心。今天莫名其妙的用到了Java的取模方法,发现竟然…

用dl元素编辑html个人信息,html dl dt dd标签元素语法结构与使用

dl dt dd认识及dl dt dd使用方法一、dl dt dd认识 - TOPhtml 是一组合标签,使用了dt dd最外层就必须使用dl包裹,此组合标签我们也又叫表格标签,与table表格类似组合标签,故名我们也叫dl表格(扩展阅读:table tr td、…