java 包裝器型別 基本型別 == equals
阿新 • • 發佈:2019-01-03
package wrapper; public class MyTest { public static void main(String[] args) { int i = 1; Integer I11 = 1; Integer I12 = 1; Integer I21 = 2; Integer I13 = new Integer(1); Integer I14 = new Integer(1); double d1 = 1.0D; double d2 = 2.0D; Double D1 = 1.0D; Double D2 = new Double(2.0D); //1 System.out.println("============1============"); System.out.println(i == I11); //t System.out.println(i == I13); //t System.out.println(i == I21); //f System.out.println(i == D1); //t //2 System.out.println("\n============2============"); System.out.println(I11 == I12); //t System.out.println(I11 == I21); //f System.out.println(I11 == I13); //f System.out.println(I13 == I14); //f //System.out.println(I11 == D1); //型別不同不能比較 //3 System.out.println("\n============3============"); System.out.println(I11.equals(i)); //t System.out.println(I21.equals(i)); //f System.out.println(I21.equals(d2)); //f System.out.println(I21.equals(d1)); //f //4 System.out.println("\n============4============"); System.out.println(I11.equals(I12)); //t System.out.println(I11.equals(I13)); //t System.out.println(I11.equals(I21)); //f System.out.println(I11.equals(D1)); //f System.out.println(I11.equals(D2)); //f } } //1、基本型別和包裝器型別進行“==”運算子的比較,包裝器型別將會自動拆箱變為基本型別後再進行比較 //2、兩個型別相同的包裝器的物件(型別不同不能比較)進行“==”比較時,比較的是引用是否相等, // 只要有一個物件是new獲得的,返回false //3、包裝器型別呼叫equals(基本型別)方法,先會進行自動裝箱,基本型別轉換為包裝器型別,若型別不同返回false, // 若型別相同,則比較值,如果值相同,則返回true,否則返回false。 //4、兩個包裝器型別進行equals()比較,首先equals()會比較型別, // 如果型別相同,則繼續比較值,如果值也相同,返回true