Java包装类中的equals方法
生活随笔
收集整理的這篇文章主要介紹了
Java包装类中的equals方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
基本數(shù)據(jù)類型包裝類中的equals方法用于比對相同包裝類中的值是否相等,如果兩者比較的包裝類類型不同則返回false;
1、基本型和基本型封裝型進(jìn)行“==”運算符的比較,基本型封裝型將會自動拆箱變?yōu)榛拘秃笤龠M(jìn)行比較,
2.兩個包裝類型的對象進(jìn)行“==”比較時,如果有一方的對象是new獲得的,返回false,因為引用地址不同。
3、兩個基本型的包裝類型進(jìn)行equals()比較,首先equals()會比較類型,如果類型相同,則繼續(xù)比較值,如果值也相同,返回true。
4、包裝類型調(diào)用equals()方法,但是參數(shù)是基本類型,這時候,先會進(jìn)行自動裝箱,將基本型轉(zhuǎn)換為其包裝類型,若類型不同返回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"));}總結(jié)
以上是生活随笔為你收集整理的Java包装类中的equals方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】快速认识Pandas的1
- 下一篇: java volatile 原子性_Ja