裝箱,拆箱&&枚舉

包裝類

什麼是包裝類:java給每一個基本類型提供了一個包裝類,用來包裝基本類型的值,提供面向對象的操作方法

哪些包裝類

  • byte   Byte
  • short Short
  • int Integer
  • long  Long
  • float Float
  • double Double
  • char Character
  • boolean  Boolean

常用方法:

Integer:

int包裝成Integer:裝箱

  1. new Integer(5);
  2. new Integer(“5”);
  3.  Integer.valueOf(5)

Integer轉換成int:拆箱

  •  intValue

將字符串轉換成int

 Integer.parseInt(5) //只能接受整數格式的字符串

自動裝箱

Integer a = 5;//直接將基本類型值賦值給包裝類型

自動拆箱

int b = a;//直接將包裝類型對象賦值給基本類型

import java.util.Scanner;
import org.junit.Test;
public class TestWrapper {
	@Test
	public void test(){
		//接受用戶輸入的一個整數字符串,將它轉換成int
		Scanner  input = new Scanner(System.in);
		String s = input.nextLine();
		int a = Integer.parseInt(s);//只能接受整數格式的字符串
		System.out.println(a+5);
	}
	//接受用戶輸入一個小數,將它轉換成double類型
	@Test
	public void test2(){
		//接受用戶輸入的一個整數字符串,將它轉換成int
		Scanner  input = new Scanner(System.in);
		String s = input.nextLine();//2.5
		double d = Double.parseDouble(s);
		System.out.println(d+5);
		Double d1 = Double.valueOf(s);
		int a = d1.intValue();
		System.out.println(d1);
		System.out.println(a);
	}
	@Test
	public void test3(){
		Integer a = new Integer(5);
		a = new Integer("5");
		a = Integer.valueOf(5);
		a = Integer.valueOf("5");
		//以上都是裝箱,手動裝箱
		a = 5;//基本類型直接賦值給引用類型,自動裝箱,自動裝箱對jdk要求是1.5之後
		
		int b = a.intValue();//拆箱,將包裝類型的對象中的值取出來,賦值給基本類型,手動
		b = a;//自動拆箱
	}
}

枚舉

什麼是枚舉:枚舉就是一個特殊的類,特殊在普通類的實例可以被用戶任意創建,但枚舉的實例是隻有有限個,用戶不可以任意創建,這些實例是在枚舉中定義好的

如何定義枚舉

關鍵字:enum

構造方法

枚舉的超類是Enum

public enum Season {
	SPRING("ab"),SUMMER,AUTOMN,WINTER;//枚舉常量(和靜態常量相似區別)
	
	private String name;
	private Season() {
		// TODO Auto-generated constructor stub
	}
	private Season(String name) {
		this.name =name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
//	public String getName() {
//		return name;
//	}
	
	public void printinfo(){
		System.out.println("枚舉也是類,一樣也應該方法");
	}
}

class Animal{
	public static final String TYPE="abc";//靜態常量
}
class Test{
	public static void main(String[] args) {
		String s = Animal.TYPE;
	}
}
import org.junit.Test;
public class TestSeason {
	@Test
	public void test(){
		//獲得枚舉實例
		Season summer = Season.SUMMER;
		summer = Enum.valueOf(Season.class, "SUMMER");
		System.out.println(summer.name());		
		summer.printinfo();		
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章