java学习之路 之 Java常用类-包装类(Wrapper)及练习题

针对八种基本定义相应的引用类型—包装类(封装类)

有了类的特点,就可以调用类中的方法。


基本数据类型包装成包装类的实例    ---装箱
通过包装类的构造器实现:
Integer t1 = new Integer(i); //手工装箱
Integer t2 = 500; //自动装箱 
还可以通过字符串参数构造包装类对象:
Float f = new Float(“4.56”);
Long l = new Long(“asdf”);  //NumberFormatException
获得包装类对象中包装的基本类型变量    ---拆箱
调用包装类的.xxxValue()方法:
boolean b = bObj.booleanValue();//手动拆箱
boolean n = bObj;//自动拆箱
JDK1.5之后,支持自动装箱,自动拆箱。但类型必须匹配。
字符串转换成基本数据类型
通过包装类的构造器实现:
int i = new Integer(“12”);
通过包装类的parseXxx(String s)静态方法
Float f = Float.parseFloat(“12.1”);
基本数据类型转换成字符串
调用字符串重载的valueOf()方法
String fstr = String.valueOf(2.34f);
更直接的方式:
String intStr = 5 + “”

包装类用法举例:
int i = 500;
Integer t = new Integer(i);
装箱:包装类使得一个基本数据类型的数据变成了类。

有了类的特点,可以调用类中的方法。
String s = t.toString(); // s = “500“,t是类,有toString方法
String s1 = Integer.toString(314); // s1= “314“  将数字转换成字符串。
String s2=“4.56”;
double ds=Double.parseDouble(s2);   //将字符串转换成数字

拆箱:将数字包装类中内容变为基本数据类型
int j = t.intValue();// j = 500,intValue取出包装类中的数据
包装类在实际开发中用的最多的在于字符串变为基本数据类型。
String str1 = "30" ;
String str2 = "30.3" ;
int x = Integer.parseInt(str1) ;// 将字符串变为int型
float f = Float.parseFloat(str2) ; // 将字符串变为int型

import org.junit.Test;

public class WrapperTest {

	@Test
	public void exer1() {
		// 声明两个字符串, 其中的内容是两个整数, 把第一个先转成基本数据类型,再装箱 , 第二个直接装箱 
		// 分别使用手工拆箱求和, 自动拆箱求积, 并打印输出
		String string1 = "300";
		String string2 = "50";
		int num1 = Integer.parseInt(string1);
		Integer obj1 = new Integer(num1);
		Integer obj2 = Integer.decode(string2);
		System.out.println(obj1.intValue() + obj2.intValue());
		System.out.println(obj1 * obj2);
	}
	
	
	@Test
	public void test1() {
		Integer obj1 = new Integer(100); // 手工装箱
		Integer obj2 = 200; // 自动装箱  new Integer(200);
		System.out.println(obj1);
		System.out.println(obj2);
		
		Object obj = 300; // Object obj = new Integer(300);
		
		int num1 = obj1.intValue(); // 手工拆箱
		int num2 = obj2; // 自动拆箱
		System.out.println(num1 * num2);
		System.out.println(obj1 * obj2);
		
		// 手工装箱 
		boolean b1 = true;
		Boolean obj3 = new Boolean(b1);
		// 手工拆箱
		boolean b2 = obj3.booleanValue();
		
		Double obj4 = 3.14;
		obj4 = obj4 * 20; // obj4 = new Double(obj4.doubleValue() * 20);
		System.out.println(obj4);
		
		String string = "2343";
		int value = Integer.parseInt(string);
		System.out.println(value);
		string = "false";
		boolean b3 = Boolean.parseBoolean(string);
		System.out.println(b3);
		string = ".334";
		double d1 = Double.parseDouble(string);
		System.out.println(d1);
		
	}
}




  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值