装箱,拆箱&&枚举

包装类

什么是包装类: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();		
	}
}


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