基本类型包装类

Java中有8种基本数据类型,但基本数据类型并不具备面向对象的特性。想进行面向对象的操作,需要通过基本类型的包装类来进行。

其中需要注意int对应的包装类是Integer,char对应的包装类是Character,其他6个都是基本类型首字母大写即可。

 

包装类的常用操作:

  • 1.字符串与基本类型的转换

将字符串转成基本类型:

Integr.parseInt(String s)

将基本类型转换成字符串:

1.基本类型通过 + 直接与 “” 连接

2.调用String的valueOf(String s)方法

3.调用包装类的toString(String s)法

Integer类还有一个方法 toString(int i,int radix) ,可以将指定进制数值 i 转换成其对应的十进制基本类型

Java中的进制最高支持36进制,因为(0-9,a-z)

  • 2.基本数值或字符串转换成包装类对象

1.通过Integer类的构造方法 

Integer i = new Integer(4);//使用构造函数函数

Integer ii = new Integer("4");//构造函数中可以传递一个数字字符串

 

2.通过Integer类的静态方法valueOf

Integer valueOf(int i)

Integer valueOf(String s)

  • 3.包装类对象转换成基本类型

通过包装类的xxxValue()方法

Integer.intValue()  

自动装箱与自动拆箱

自动装箱与自动拆箱是jdk1.5之后的特性。

自动装箱指的是,基本数据类型自动转换为包装类对象。如Integer i = 1,相当于Integer i = Integer.valueOf(1);

自动拆箱指的是,包装类对象自动转换为基本数据类型。如下代码

Integer i = 1;
i = i + 5;

i=i+5  执行时,先计算i+5,此时发生了自动拆箱,将i转成int类型 ,等价于i.intValue() 。加法操作完成后自动装箱成Integer类型,然后赋值给i。

 

 

 

Integer内部有一个byte常量池,自动装箱时,当数值在byte范围之内时,会先从常量池中获取。常量池中没有时才创建对象。

 

Integer x = 127;

Integer y = 127;

System.out.println(x==y); //true

System.out.println(x.equals(y)); //true

 

Integer i = 128;

Integer j = 128;

System.out.println(i==j); //false

System.out.println(i.equals(j)); //true

 

原文地址:https://www.cnblogs.com/shizunatsu/p/14385472.html