JAVA基礎04-包裝類物件
阿新 • • 發佈:2018-12-20
一、為什麼要有包裝類物件?有什麼作用? 1、基本資料型別之間的相互轉換不是都可以制動轉換的,而你強制轉換又會出問題,比如String型別的轉換為int型別的,那麼jdk為了方便使用者就提供了相應的包裝類。 2、有時候一個函式需要傳遞一個Object的變數 而你想傳遞int型別的進去顯然不行,怎麼辦呢,用到了包裝類。
二、包裝類物件 基本型別 包裝型別
byte Byte
int Integer
short Short
long Long
float Float
double Double
boolean Boolean
char Character
三、包裝類物件的常用方法 1、Integer
//1、將字元創轉換成int型別 String str = "12433"; int num = Integer.parseInt(str); System.out.println(num); //2、將int型別轉換成Integer型別 Integer in = Integer.valueOf(12);
四、equals和==區別 1、“= =” “= =” 比較的是變數(棧)記憶體中存放的物件的(堆)記憶體地址,用來判斷兩個物件的地址是否相同,即是否是指相同一個物件。比較的是真正意義上的指標操作。 2、equals equals用來比較的是兩個物件的內容是否相等,由於所有的類都是繼承自java.lang.Object類的,所以適用於所有物件,如果沒有對該方法進行覆蓋的話,呼叫的仍然是Object類中的方法,而Object中的equals方法返回的卻是"= ="的判斷。
public class equals { public static void main(String[] args) { String a = new String("ab"); // a 為一個引用 String b = new String("ab"); // b為另一個引用,物件的內容一樣 String aa = "ab"; // 放在常量池中 String bb = "ab"; // 從常量池中查詢 if (aa == bb) { System.out.println("aa==bb"); }// true if (a == b){ System.out.println("a==b"); } // false,非同一物件 if (a.equals(b)){ System.out.println("true"); } // true if (42 == 42.0) { System.out.println("true"); }// true } }