equals和==在判斷
int d = 128;
integer i1 = integer.valueof(d);
integer i2 = integer.valueof(d);
system.out.println(i1==i2);//false引用不同
system.out.println(i1.equals(i2));//true,內容d相同類名一致
==判斷的是引用位址是否相同,而equals只是單純判斷內容時否相同,equals還會涉及類名是否一樣呢
public boolean equals(object obj)
valueof()是類方法,
double d1 = double.valueof(123.0);
//double d1=new double(123.0);相同
double d2 = double.valueof(123.0);
system.out.println(d1==d2);//false
system.out.println(d1.equals(d2));//true
* 包裝類可以將字串解析為對應的基本型別,前提是該字串正確描述基本資料型別
* 可以儲存的值,否則解析時會丟擲解析異常**/
string str="123";
int d=integer.parseint(str);
system.out.println(d);
double dou=double.parsedouble(str);
system.out.println(dou);
/** jdk5版本以及以後不報錯
*新特性自動拆裝箱,使得編譯期在編譯期間補充**完成基本呢型別與對應的包裝之間轉換
*的**,使得我們在編寫源**時可以在基本型別與引用型別之間直接賦值
*/int a=1;
/** 這裡觸發了自動裝箱特性,編譯器在編譯時會將**改為:
* integer i=integer.valueof(a);
* 將基本資料型別轉為包裝類
*/integer i=a;
/** 下面**觸發了自動拆裝特性,編譯器會改為:
* a=i.intvalue();
* 將包裝類轉換為對應的基本型別
*/a=i;
system.out.println(a);
泛型的使用方法以及注意事項
1使用泛型可以解決型別轉換的問題 在編譯器發現問題,而不是執行期才發現 2泛型只能是引用型別,不能是基本型別 3方法中如果有泛型,那麼傳入的引數型別必須和方法中宣告的型別完全一致 如果希望方法中的泛型可以接收任意型別那麼不能使用object,可以使用萬用字元?問號 4乙個泛型類的引數可以是一般的引用...
包裝類及使用時的注意事項
基本資料型別 列舉 enum int char boolean number 包裝類把基本型別的資料轉換為物件 把基本資料型別包裝起來就會把資料大開頭變為大寫,變為。類 包裝類 integer,double,float,byte,boolean,character,long,short 型別轉換 基...
HashMap的使用方法及注意事項
99 map 對映 map 的keyset 方法會返回 key 的集合,因為 map 的鍵是不能重複的,因此 keyset 方法的返回型別是 set 而 map 的值是可以重複的,因此 values 方法的返回型別是 collection,可以容納重複的元素。100 map注意事項 a public...