Java包装类型
包装类型概念
基本数据类型使用起来十分方便,但是没有对应的方法来操作这些数据,所以我们使用一个类,把基本类型包装起来,这个类叫包装类。
在包装类中可以定义一些方法,用来操作基本数据类型。
装箱与拆箱
一、装箱
**1、普通装箱:**把基本数据类型,包装到包装类中
** 1、静态方法:**
Integer in=Integer.valueOf(123);
Integer im=Integer.valueOf("123");
** 2、构造方法:**
构造方法已经过时了
Integer ii=new Integer(123);
Integer ip=new Integer("123");
2、自动装箱
直接把int类型的整数赋值给包装类
Integer iq=10;
二、拆箱
int s= ii.intValue();
自动拆箱
int s1=in;
自动拆箱平时运算时都会发生
自动装箱和自动拆箱是jdk1.5之后出现的新特性,方便了使用
分析
ii=in+s;
in为Integer类型,***自动拆箱***为int类型与s相加,得到一个int类型的数。然后这个数***自动装箱***为Integer。
ArrayList<Integer> a=new ArrayList<>();
ArrayList集合无法直接存储整数,可以存储Integer包装类型
a.add(12);
实为a.add(new Integer(12));所以a.add()使用了自动装箱
int d=a.get(0);
这里使用了自动拆箱,把Integer转换成int
类型转换
1、基本数据类型转换为String
String e=122+"";
System.out.println(e+300);//122300
String e2=Integer.toString(100);
System.out.println(e2+300);//100300
String e3=String.valueOf(222);
System.out.println(e3+111);//222111
2、字符串转换成基本数据类型
int a=Integer.parseInt("1234");
double d=Double.parseDouble("222");
boolean b=Boolean.parseBoolean("true");
除了Character外,其他包装类型都有parse***()方法
b=Boolean.parseBoolean(“true”);
只有字符串为“true”是为true,其他都是false
3、基本数据类型转换为包装类型(装箱)
Integer i1=new Integer(11);//已经过时
Integer i2=123;//自动装箱
Integer i3=Integer.valueOf(111);
4、包装类型转换为基本数据类型(拆箱)
int s1= i1.intValue();
int s2=i2;//自动拆箱
5、包装类型转换为字符串类型
Integer si=12;
String c2=String.valueOf(si);
6、字符串类型转换为包装类型
Integer r1=Integer.valueOf("123");