【Java基础】包装类

63 篇文章 4 订阅

Java 中有 8 个基本类型,分别对应的包装类如下:

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

为什么要有包装类:

基本数据类型方便、简单、高效,但泛型不支持、集合元素不支持
不符合面向对象思维
包装类提供很多方法,方便使用,如 Integer 类 toHexString(int i)、parseInt(String s) 方法等等

接下来以int基本类型与对应的包装类Integer为例看一下装箱,拆箱的过程:

public class Demo03 {
	public static void main(String[] args) {
		int a = 20;
		//自动装箱:基本类型的变量a赋值给Integer类型的变量b
		Integer b = a;
		System.out.println(b);
		//自动装箱:将Integer类型的变量b赋给基本类型的变量c
		int c = b;
		System.out.println(c);
	}

}

运行结果:

Java中除了支持基本数据类型与对应包装类之间进行转换,还提供其他方法来支持基本数据类型,基本数据包装类以及字符类之间的相互转换。

public class Demo11 {
	public static void main(String[] args) {
		int num = 123;
		//通过String.valueOf()方法将基本类型转换为字符串
		String string = String.valueOf(num);
		System.out.println("将int类型转换为字符串的结果:"+string);
		//通过包装类的valueOf()静态方法将基本类型的字符串转换为包装类
		String str = "998";
		Integer integer = Integer.valueOf(num);
		Integer integer2 = Integer.valueOf(str);
		System.out.println("将int类型转换为包装类的结果:"+integer);
		System.out.println("将字符串变量转换为包装类的结果:"+integer2);
		//通过包装类的有参构造方法将基本类型和字符串转换为包装类
		Integer integer3 = new Integer(num);
		Integer integer4 = new Integer(str);
		System.out.println("通过构造器将int类型转换为包装类的结果:"
		                        +integer3);
		System.out.println("通过构造器将int类型转换为包装类的结果:"
				                +integer4);
		//通过包装类的parseXxx()静态方法将字符串转换为基本数据类型
		int parseInt = Integer.parseInt(str);
		System.out.println("将字符串转换为基本类型的结果:"+parseInt);
		//通过包装类的toString()方法将包装类转换为字符串
		String string2 = integer.toString();
		System.out.println("将包装类装换为字符串的结果:"+string2);
	}

}

 运行结果:

 

注:

①除了Chareter外,包装类都有valueOf(String s)方法,可以根据Sring类型的参数创建包装类对象,但参数字符串s不能为null, 而且字符串必须是可以解析为相应基本类型的数据.否则虽然编译通过,但运行时会报错。具体示例如下:

Integer i = Integer.valueOf("123");//合法
Integer i = Integer.valueOf("12a");//不合法

②除了Character外,包装类都有parseXxx(String s)的静态方法,将字符串转换为对应的基本类型的数据。参数s不能为null,而且同样必须是可以解析为相应基本类型的数据,否则虽然编译通过,但运行时会报错。具体示例如下:

int i = Integer.parseInt("123");//合法
Integet in = Integet.parseInt("itcast");//不合法

感谢观看!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值