Java包装类(详细代码解析)

包装类

在java中面相对象的思想总结为万物皆对象,但是基本数据类型与引用数据类型对象的概念有冲突,由此创建了包装类(针对每一种数据类分别创建了一个引用类型对应的类biang提供方法),在需要使用方法时,现将基本数据类型转换为对应的包装类进行方法的调用。

包装类均位于java.lang包,使用时不需要导入,系统自动导入。
Java中的8个包装类分别是:Byte,Short,Integer,Long,Float,Double,Character,Boolean它们的使用方式都是一样的,可以实现原生数据类型与包装类型的双向转换。

使用包装类基本只做基本数据类型、包装类、String之间的相互转换,其中Character额外提供了对单个字符操作的方法

		// 基本数据类、包装类、String字符串之间相互转换
		// 基本数据类型转换为包装类
		int i = 123;
		// 1使用Integer构造方法转换
		Integer integer = new Integer(i);// 使用指定数据创建integer对象
		// 2自动装箱
		// jdk1.5版本以后基本数据类型与对应包装类可以自动转换
		integer = i;
		// 3使用Integer静态方法形式将基本数据类型转换为包装类
		integer = Integer.valueOf(i);

		// 包装类转换为基本数据类型
		// 1自动拆箱
		// jdk1.5版本以后基本数据类型与对应包装类可以自动转换
		i = integer;
		// 2使用包装类方法进行转换//
		i = integer.intValue();

		// 包装类与String之间的转换
		// 1使用object继承的toString方法
		String str = integer.toString();
		// 2使用字符串拼接+ 将其自动转换为字符串(本质上还是调用toString)
		str = integer + "";
		// 使用String静态方法
		str = String.valueOf(integer);

		// String转换为包装类
		// 1使用包装类构造方法
		integer = new Integer(str);
		// 2使用包装类静态方法
		// 需要保证字符串为数字字符串
		integer = Integer.valueOf(str);

		// 任意基本类型转换为string
		// 1使用String静态方法
		str = String.valueOf(i);
		// 2使用字符串拼接的形式换行
		str = "" + i;
		 
		//string转换为基本数据类型需要使用包装类

JDK5新特性自动装箱拆箱

  1. 自动装箱:把基本类型转换为包装类类型 int基本类型可以直接赋值给包装类对象
  2. 自动拆箱:把包装类类型转换为基本类型 包装类对象可以直接与基本类型进行计算 直接计算时需要进行滤空操作
  3. java虚拟机为了优化8种基本数据类型的包装对象都提供了缓冲池,缓冲池有大小,一个字节。

char类型包装类Character在拥有基础方法外额外拥有一些对于字符操作的方法

注意:Character提供的方法大部分为静态方法可以使用类名.方法名进行调用

		// isDigit(char ch)
		// 确定指定字符是否为数字。
		char c='a';
		System.out.println(c);
		System.out.println("是否是数字:"+Character.isDigit(c));
		
		// isLetter(char ch)
		// 确定指定字符是否为字母。
		System.out.println("是否是字母:"+Character.isLetter(c));
		
		// isLetterOrDigit(char ch)
		// 确定指定字符是否为字母或数字。
		System.out.println("是否是字母或数字:"+Character.isLetterOrDigit(c));
		
	
		// isLowerCase(char ch)
		// 确定指定字符是否为小写字母。
		System.out.println("是否是小写字母:"+Character.isLowerCase(c));
		

		// isUpperCase(char ch)
		// 确定指定字符是否为大写字母。
		System.out.println("是否是大写字母:"+Character.isUpperCase(c));
		
		// toLowerCase(char ch)
		// 使用取自 UnicodeData 文件的大小写映射信息将字符参数转换为小写。
		System.out.println("转换为小写字母:"+Character.toLowerCase(c));
		// toUpperCase(char ch)
		// 使用取自 UnicodeData 文件的大小写映射信息将字符参数转换为大写。
		System.out.println("转换为大写字母:"+Character.toUpperCase(c));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值