Wapper类

1、java中的基本类型不是类类型,为了能够为基本类型提供对应的对象或者对应的类类型,因此在jdk类库中提供了8个类,叫包装器类,分别对应8种基本类型,也就是说,可以把基本类型的数据或者变量当做类来处理

在这里插入图片描述

注意:这8种类类型在初始化之后,所指对象的内容是不能改变的。

public class Main 
{
	static void change(Num tar)
	{
		tar.val=3;
	}
	static void change(Integer tar)
	{
		tar=3;
	}
	public static void main(String[] args) 
	{
		Num a=new Num(5);
		change(a);
		System.out.println(a.val);
		
		Integer i=new Integer(5);
		change(i);
		System.out.println(i);
	}

}

class Num
{
	public int val;
	public Num(int val)
	{
		this.val=val;
	}
}

这段代码的结果是
3
5

因为,刚开始传入的是Num类型的,所以调用第一个change方法,刚开始new出来的放在堆区,然后tar指向了堆区的5,然后改变了tar所指堆区中的值,也就是a的值改了,所以最后输出为3。

但是,对于8种基本类型初始化之后,他们的值是不能改的,所以刚开始tar指向堆区中的5,但是值不能改,所以,在外面复制出一份5,再把外面的5改成3,tar指向外面的3,但是最后输出的还是i,所以结果还是5。

注意:一个方法中,只能调用一个方法,不能写别的方法,所以change方法只能在Main方法外面写。


2、实例1:常用API

在这里插入图片描述

Integer i=new Integer(100);
		
		//生成了一个整数对象,值为100;
		
		Double d=new Double("123.456");
		
		//生成了double类型的对象,传来的形参不是小数,而是小数类型的字符串这样是可以的
		//但是如果传来""或者是"abcd"会报错
		//Double e=new Double("");
		//Double e1=new Double("abcd");
		
		int j=i.intValue()+d.intValue();
		//intValue()取整数值,注意不会四舍五入
		float f=i.floatValue()+d.floatValue();
		//floatValue()取小数值100.0和123.456
		
		System.out.println(j);
		System.out.println(f);
		
		
		double pi=Double.parseDouble("3.1415926");
		System.out.println(pi);
		//作用是将字符串类型的转换为double类型;
		//这里需要的是double类型的东西,但是确提供了一个字符串,怎么转换成double呢?
		//double中提供了一个公有的静态方法parseDouble,可以直接访问parseDouble,这样就可以将字符串类型的转为double类型;
		//double pi1=Double.parseDouble("");
		//double pi1=Double.parseDouble("abc");
		//上面两个语句都会出错;
		
		
		double r=Double.valueOf("2.0").doubleValue();
		//将形参类型转换为Double
		
		double s=pi*r*r;
		System.out.println(s);
		int k=Integer.parseInt("123");
		//作用是将字符串类型的转换为int类型;
		//这里需要的是int类型的东西,但是确提供了一个字符串,怎么转换成int呢?
		//int中提供了一个公有的静态方法parseInt,可以直接访问parseInt,这样就可以将字符串类型的转为int类型;
		System.out.println(k);

答案:

223
223.456
3.1415926
12.5663704
123

3、jdk5之后
(1)可以自动封装,也就是将一个整数类型的东西赋值给一个Integer对象,编译器可以进行自动处理,将其变成Integer对应的1

(2)可以自动解封

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值