提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
包装类的作用:将基本数据类型,包装成类,变成引用数据类型,从而方便某些数据操作。
提示:以下是本篇文章正文内容,下面案例可供参考
一、包装类的类型
二、使用步骤
提示:代码示例用的是Inttger,其余类型类似
包括装箱和拆箱操作
1.手动拆箱和装箱
代码如下(示例):
//手动装箱(2种方法,第一种已经废弃)
int num=10;
Integer i1=new Integer(num);//不推荐
Integer i2=Integer.valueOf(num);
//手动拆箱
int a=i2.intValue();
2.自动拆箱和装箱
代码如下(示例):
/*jdk5版本之后,可以进行自动装箱和拆箱,加快开发效率,不需要操心转换问题
1.自动装箱:可以将基本数据类型直接赋值给包装类的变量
2.自动拆箱:可以将包装类的数据直接赋值给基本数据类型变量
*/
//自动装箱:
int num=10;
Integer i1=num;
//自动拆箱:
int a=i1;
三.包装类方法的使用
提示:仅写Integer的常用方法,其余类型类似
Integer 常用方法
int num=10;
System.out.println(Integer.toBinaryString(num));//1010
System.out.println(Integer.toOctalString(num));//12
System.out.println(Integer.toHexString(num));//a
String s="123";
System.out.println(Integer.parseInt(s)+10);//133
//s一定是数字字符串,不能是其他的字符
例1
例2
解释:
自动装箱的时候,如果装箱的数据范围是-128~127,==号比较的结果就是true,反之都是false 。
当数据在-128-127之间,不会创建新的对象,而是会从底层的数组中,取出一个提前创建好的Interger对象。当数据不在他们之间,会重新创建新的对象
自动装箱原理:自动帮我们调用了Integet.valueof()
如果想比较内容而不是地址,则需要equals:
Integer i1=129;
Integer i2=129;
System.out.println(i1==i2);//false
System.out.println(i1.equals(i2));//true