java包装类_java中八种包装类

本文详细讲解了包装类在Java中的作用,如何将基本数据类型转换为对象,如byte到Byte,以及Number类的拆箱与装箱机制。重点介绍了Integer的常见操作,包括parseInt、valueOf和数值转换,以及异常处理如NumberFormatException。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、为什么要引入包装类

public void dosome(Object obj)

{

System.out.println(obj);是不被允许的,因为这里面只能传入一个对象,而不是一个数字,或者是变量。

}

2、 例如当方法要求输入一个对象,但是我们手里只有基本数据类型,这是就要将基本数据类型的值给对象,这是就要用到包装类,包装类一共有八种:

1、

基本数据类型                                                                                      对应的包装类          包装类的父类

byte                                                                                               java.lang.Byte          Number

short                                                                                              java.lang.Short          Number

int                                                                                                   java.lang.Integer          Number

long                                                                                                java.lang.Long          Number

float                                                                                               java.lang.Float          Number

double                                                                                           java.lang.Double          Number

boolean                                                                                         java.lang.Boolean         Object

char                                                                                              java.lang.Character         Object

3、Number的作用是对数据进行拆箱和装箱,Number类中全是拆箱和装箱的方法,Number是一个 抽象类,无法实例化只能继承。

1、byte byteValue()以byte形式返回指定的的数值

2、abstract double doubleValue()以double形式返回指定的的数值

3、abstract float floatValue()以float形式返回指定的的数值

4、abstract long longValue()以long形式返回指定的的数值

5、 short shortValue()以short形式返回指定的的数值

6、abstract int intValue()以int形式返回指定的的数值

public static void main(String[] args)

{

integer i=new integer (123);//这是装箱是将int类型转换为integer类型的对象

integer i=new integer ("123");//这是第二种装箱的格式,也就是说字符串也可以,但是必

须保证字符串里面的是整数而不是其他类型的数据

integer i=123;//上面的是最全面的写法,实际上这个代码中i保存的是还一个对象

的内存地址,而这个对象中存储着123这个数。这个是自动装箱写法。

float j= i.float value ();//这是装箱是将int类型转换为float类型的对象

int j=i;//这里i是包装数据类型,j是基本数据类型,上面的是最全面的写法,这是自动拆箱。

System.out.println(j) //这里的j是123.0

integer i=123;

System.out.println(i+1) //不会报错,因为系统会自动将j进行拆箱后再进行相加。

但是注意只有+ - * /时才会触发自动拆箱,而==符号不会触发自动拆箱。

注意:integer i1=127;

integer i2=127;

System.out.println(i1==i2);//结果为true

integer i1=128;

integer i2=128;

System.out.println(i1==i2);//结果为false

因为jvm会将-128到127直接放在缓存里,所以定义这个范围的数据时,jvm直接将数据的地址给引用,所以第一个例子为true而当超过这个范围时,需要重新创建两个对象,并分别保存128所以这时的地址是不同的,故引用中的数据也不同。

}

4、integer类中的parseInt()

作用:返回字符串类型中的数字给整数型变量(String->int)字符串转整性

调用方法:int intvar=integer.parseInt("123");得到的结果是123

5、介绍一种异常NumberFormatException,数字格式化异常,一般是因为传入的参数跟函数原本要用的数据格式不一样。int intvar=integer.parseint("中国");便会有这个错误。

6、integer类中的valueOf()方法

作用是将int类型的数值,转化为integer类型

调用方法是integer s=integer.valueof(int value)

或者

调用方法是integer s=integer.valueof(String "value")

7、integer类中的toOctalString()方法

作用是将integer类型十进制的数值,转化为String类型八进制

调用方法是String s=integer.toOctalString(int value)

注意这里用String s=integer.toOctalString(String "value")的方式就会报错;

只有integer的invalueof()和new integer()方法才可以int 和String类型都可以用。

8、integer类中的toHexString()方法

作用是将integer类型十进制的数值,转化为String类型十六进制

调用方法是String s=integer.toHexString(int  value )

如果调用的方法是:String s=integer.toHexString(String “value” )会报错

只有integer的invalueof()和new integer()方法才可以int 和String类型都可以用。

9、intvalue()

作用:将integer对象装换为int类型

调用方法:int i=intvalue(integer value)

10、三种变量之间的互转

2e7ef93a1663

int转String:

int i=100;

String s=i+" ";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值