object類:
equals方法,object中的equals方法
public boolean equals(Object obj) {
return (this == obj);
}
所以object中的equals方法和==是一樣的。
有很多類像String類重寫了equals方法。
String類的equals方法,比較的是兩個對象的內容是否完全相同。
String 方法:
內存圖解:
toString方法:
在object類中的定義:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());//Integer.toHexString(args)獲取某個數的十六進制值。
}
object類toString方法返回的是該類的完整類名+“&”+hashcode()方法返回值的十六進制值。
String類重寫了toString方法,返回String的值。
包裝類:
對於包裝類只需要掌握:基本數據類型 包裝類 及String之間的相互轉換
/基本數據類型--->對應的包裝類:調用包裝類的構造器
int i = 10;
Integer i1 = new Integer(i);
Float f = new Float("12.3F");
//對於Boolean來講,當形參是"true"返回true,除此之外返回false。
Boolean b1 = new Boolean("false");
//包裝類--->基本數據類型:調用包裝類Xxx的XxxValue()方法。
int i2 = i1.intValue();
System.out.println(i2);
float f1 = f.floatValue();
System.out.println(f1);
boolean b2 = b1.booleanValue();
//JDK5.0以後,自動裝箱和拆箱
int i4 = 12;
Integer i3 = i4;//自動裝箱
int i5 = i3;//自動拆箱
自動裝箱和拆箱會比較簡單,以前都是用上面總結那兩種方法。
//基本數據類型、包裝類 --->String類:調用String類的重載的valueOf(Xxx x)方法
int i1 = 10;
String str1 = i1 + "";//"10"(最簡單的方法)
Integer i2 = i1;
String str2 = String.valueOf(i2);
String str3 = String.valueOf(true);//"true"
//String類--->基本數據類型、包裝類:調用包裝類的parseXxx(String str)方法
int i3 = Integer.parseInt(str2);
System.out.println(i3);
boolean b1 = Boolean.parseBoolean(str3);