關于JAVA包裝類型
你需要知道如下幾點:
1.不可變的,同String
2.是對象
3.又的包裝類型存在Cache緩存,這個見如下例子:
在此處涉及自動打包操作,将int類型自動打包成Integer類型。而自動打包規範要求boolean,byte,char<=127,介于-128~127之間的short和int被包裝到固定的對象中,即同一記憶體區域。 為避免此類問題,建議使用equals方法比較對象是否相等,而不是用==運算符比較對象是否相同
Long l1=l,l2=l,l3=l,l4=l;
System.out.println(l1==l2);//true
System.out.println(l3==l4);//false
Integer i1=,i2=,i3=,i4=;
System.out.println(i1==i2); //true
System.out.println(i1.equals(i2));//true
System.out.println(i3==i4);//false
System.out.println(i3.equals(i4));//true
System.out.println(i1==);//true
System.out.println(i4==);//true
Float F1=f,F2=f;
System.out.println(F1==F2);//false
System.out.println(F1==f);//true
float f1=f,f2=f;
System.out.println(f1==f2);//true
String a="123";
String b="123";
String c=new String("123");
System.out.println(a==b);//true
System.out.println(c==b);//false