包装类

Java是一种面向对象的编程语言,在它庞大的语言家族当中,却存在着几个异类(byte、short、int、long、float、double、char、boolean),它们不能像对象一样进行属性和方法的调用以及相互之间的对象化处理。包装类的存在就是为了解决这些异类所产生的问题,让它们能够像对象一样进行交互。
我们都知道Java中的数据类型可以分为基本数据类型和引用数据类型,其中基本数据类型是不具有对象的特征的,也就是说它们不能像对象一样拥有属性和方法,以及对象化的交互。为了解决这样的问题于是就产生了包装类,通过包装类就可以使基本数据类型获取对象一样的特征,行使对象的相关权益。在这里插入图片描述
下面是Java当中的基本数据类型与它的包装类的对应关系:
在这里插入图片描述
Java当中所有的包装类都是存放在java.lang包下的,所有的包装类都是由final修饰的,也就是说包装类是没有子类的,是不能被继承的。基本数据类型被分为三大类:数值型(byte、short、int、long、float、double)、字符型(char)、布尔型(boolean)其中数值型所对应的包装类全都是继承自Number类,而字符型和布尔型所对应的包装类继承自Object类。

包装类与基本数据类型之间的转换

提到包装类与基本数据类型之间的转换就要引入两个概念装箱、拆箱,所谓**“装箱”就是将基本数据类型的值转换为对应包装类的对象;“拆箱”就是将包装类的对象转换为对应的基本数据类型的值。无论是装箱还是拆箱都有两种操作方式“自动”和“手动”。**

下面以int类型和它所对应的包装类Integer来进行操作演示:

package com.jinglan.wrap;

public class WrapTestOne {
	public static void main(String[] args) {
		//装箱:把基本数据类型的值转换成对应包装类的对象
			//1、自动装箱
				int t1 = 2;//定义一个整型的变量t1将它赋值为2
				Integer t2 = t1;//定义一个Integer对象t2,直接将t1的值赋值给t2。编译器会将t1中的数据提取出来,通过实例化的方式构成t2对象。
				System.out.println("int类型t1="+t1);
				//如果成功装箱t2的值应该就等于t1
				System.out.println("自动装箱后Integer类型t2="+t2);
			//2、手动装箱 
				Integer t3 = new Integer(t1);//通过new关键字在构造函数中把整型变量t1的值传给t3,用t1的值构造t3对象
				//在语句中直接输出对象名的时候,默认会调用对象的toString方法
				//在Integer类中,它的toString方法返回的就是其中所包含的数据值。
				System.out.println("手动装箱后Integer对象t3="+t3);
				System.out.println("=============我是分隔符===============");
		//拆箱:把包装类的对象转换成对应的基本数据类型的值
			//1、自动拆箱
				//所谓自动拆箱是指,我们可以把一个Integer类型的对象通过赋值符号直接赋值给整型变量
				//编译器会自动将包装类中存储的数据值提取出来赋值给整型变量
				int t4 = t2;//把Integer类型的对象t2通过赋值符号直接赋值给整型变量t4
				System.out.println("Integer对象t2="+t2);
				System.out.println("经过自动拆箱之后t4="+t4);
			//2、手动拆箱(调用方法 intValue方法)//intValue()将Integer包装类对象转换成基本数据类型int值
				int t5 = t2.intValue();
				System.out.println("经过手动拆箱后t5="+t5);
				
				
				
	}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

立志Java工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值