1. 程式人生 > >JAVA基礎04-包裝類物件

JAVA基礎04-包裝類物件

一、為什麼要有包裝類物件?有什麼作用? 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
        
	}
}