java基本型別和包裝型別的“==”和equals()方法
public class HelloWorld {
/*
1、基本型和基本型封裝型進行“==”運算子的比較,基本型封裝型將會自動拆箱變為基本型後再進行比較,
因此Integer(0)會自動拆箱為int型別再進行比較,如1,4行,顯然返回true。
另外兩個Integer物件進行“==”比較時,如果有一方的Integer物件是new獲得的,返回false,因為比較的是兩個物件的地址,如5,6。
3、兩個基本型的封裝型進行equals()比較,首先equals()會比較型別,如果型別相同,則繼續比較值,如果值也相同,返回true,如8,10。
4、基本型封裝型別呼叫equals(),但是引數是基本型別,這時候,先會進行自動裝箱,基本型轉換為其封裝型別,若型別不同返回false,
若裝箱後型別相同,則比較值,如果值相同,則返回true,否則返回false。如7,9。*
/
public static void main(String[] args) {
int a=257;
Integer b=257;
Integer c=257;
Integer d=new Integer(a);
Integer d1=new Integer(a);
Integer b2=57;
Integer c2=57;
System.out.println(a==b);//1
System.out.println(b==c);//2
System.out.println(b2==c2);//3
System.out.println(a==d);//4
System.out.println(b==d);//5
System.out.println(d==d1);//6
/**以上輸出結果:
* true
false
true
true
false
false
*/
System.out.println();
//System.out.println(a.equals(b)); 編譯出錯,基本型不能呼叫equals()
System.out.println(b.equals(257.0)); //7
System.out.println(b.equals(c)); //8
System.out.println(b.equals(a)); //9
System.out.println(b.equals(d)); //10
/**
* 以上輸出結果:
false
true
true
true
*/
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2310/viewspace-2798582/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java基礎-基本型別和包裝型別Java型別
- Java 包裝類和基本型別Java型別
- Java中基本資料型別和包裝型別有什麼區別?Java資料型別
- Java的基本型別和引用型別Java型別
- 你不知道的JavaScript--Item4 基本型別和基本包裝型別(引用型別)JavaScript型別
- 【Java】基本型別包裝類Java型別
- java- 型別-轉換:基本型別以及包裝型別的轉換Java型別
- 面試官:兄弟,說說基本型別和包裝型別的區別吧面試型別
- js基本型別和引用型別區別JS型別
- JAVA中基本資料型別和引用資料型別Java資料型別
- Java中 equals() 方法和 == 的區別Java
- JS篇-基本型別和引用型別、typeofJS型別
- TypeScript 基本型別和泛型的使用TypeScript型別泛型
- Java-API-基本資料型別包裝類JavaAPI資料型別
- 從賦值看基本型別和引用型別的區別賦值型別
- ==和equals方法的區別
- 【Java】equals 和 == 的區別Java
- java基本型別和物件之間的轉換Java型別物件
- 二十八、基本型別包裝類型別
- Kotlin的基本語法和型別Kotlin型別
- js資料型別之基本資料型別和引用資料型別JS資料型別
- 14.Java-Arrays(類)、基本型別包裝類、Integer(類)Java型別
- java 中equals和==的區別Java
- 基本資料型別及其包裝類(二)資料型別
- 基本資料型別及其包裝類(一)資料型別
- Java中的基本型別包裝類 Integer 類該怎麼使用?Java型別
- 詳解Java 虛擬機器(第④篇)——8 種基本型別的包裝類和常量池Java虛擬機型別
- 《JavaScript物件導向精要》之一:基本型別和引用型別JavaScript物件型別
- 值型別和引用型別型別
- 【Java】基本資料型別包裝類面試題之一Java資料型別面試題
- Java的基本資料型別Java資料型別
- c++基本型別和變數C++型別變數
- Java基本資料型別Java資料型別
- Java 基本資料型別Java資料型別
- Java基本資料型別和Integer快取機制Java資料型別快取
- Java基礎- ==和equals和hashCode的區別Java
- 看下面程式碼,判斷a和b的型別是否為true?為什麼?什麼是基本包裝型別?[程式碼]型別
- JavaScript值型別和引用型別JavaScript型別