包装类和基本数据类型看这个就对了

1.为什么出现包装类

包装类(Wrapper Class):我们知道java是一门面向对象的编程语言,但是java中的基本数据类型却不是面向对象的,他们不具有对象的性质。(例如:java中的数据类型int,double等不是对象,无法通过向上转型获取到Object提供的方法,而像String却可以,只因为String是一个对象而不是一个类型。基本数据类型由于这样的特性,导致无法参与转型,泛型,反射等过程。为了弥补这个缺陷,java提供了包装类。
为了让基本数据类型也具有对象的特征,就出现了包装类型,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八种基本数据类型对应的类统称为包装类(Wrapper Class),包装类均位于java.lang包。

2.基本数据类型的包装类

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
charCharacter
floatFloat
doubleDouble
booleanBoolean

除了Integer和Character定义的名称和对应的基本类型差异大,其他六种都是将首字母大写就可以了
Integer,Byte,Float,Double,Short,Long都是Number类的子类。
Character和Boolean都是Object直接子类。

8个类都是final修饰的(不可被继承)。

3.基本数据类型和包装类相互转换

  • 基本数据类型—>包装类
    通过对应包装类的构造方法实现。
    除了Character外,其他包装类都可以传入一个字符串参数构造包装类对象。
	boolean bool=false;
	Boolean b=new Boolean(bool);
	Integer i=new Integer(5);
	Integer i2=new Integer(""520a);//NumberFormatException
  • 包装类—>基本数据类型
    包装类的实例方法xxxValue(); //xxx表示包装类对应的基本数据类型。
	int j=i.intValue();
	Boolean b1=new Boolean("TRue");//true
	boolean b2=b1.booleanValue();

4.jdk1.5开始出现的特性:自动装箱&自动拆箱

自动装箱:可以把一个基本类型的变量直接赋给对应的包装类对象或者Object对象。
自动拆箱:允许把包装类对象直接赋给对应的基本数据类型。

Integer i=3;//装箱
int i2=i;//拆箱
Object obj=new Boolean(false);

5.基本类型和String之间的转换(常用)

  • String—>基本类型 除了Character外所有的包装类提供parseXxx(String)静态方法,用于把一个特定的字符串转换成基本数据类型。
  • 基本数据类型—>String, String类有静态方法valueOf(),用于将基本数据的变量转换成String类型。
	String str="17";
	//String--->基本数据类型
	int i=Integer.parseInt(str);
	//基本数据类型--->String
	String s1=String.valueOf(i);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值