您的位置:首页 > 编程语言 > Java开发

**小白的Java学习之旅**------API高级开发 常用类之包装类

2019-03-17 21:12 267 查看

包装类

1.概念:8种基本数据对应的引用/对象类型,称为基本包装类。
2.基本数据类型对应 包装类:位于java.lang包中【重点】

基本数据类型 包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

3.数据类型之间的转换
①int和Integer之间的转换
    int---->Integer之间的转换
   (1)

Integer i1 = new Integer(12); //借助 Integer的构造方法

   (2)
Integer i2 = Integer.valueOf(12);// 借助Integer中静态方法 valueOf

Integer---->int
   (1)
int a = i2.intValue();

②String和Integer之间的转换
   String---->Integer
   (1)
Integer i3 = new Integer("123");

   (2)
Integer i4 = Integer.valueOf("123");

   Integer---->String
   (1)
String s1 = i4.toString();

   (2)
String s2 = i4+""; //利用的字符串的拼接

③int 和 String 之间的转换
   int---->String

int a = 5;

   (1)

String s3 = a + "";//注意:基本数据类型没有 toString方法

   String—>int
   (1)
int a3 = Integer.parseInt("123");//借助 Integer类中静态方法 【开发应用重点】

   注意:String 类型数据转换为int或者Integer时,要求转换的字符串必须是数值类型,否则会运行报错,错误信息为:java.lang.NumberFormatException(数值类型转换异常)

4.装箱、拆箱
   ①JDK5.0之后提供自动装箱和拆箱的功能,即基本数据类型和对应包装类型之间可以相互转换。
   ②装箱:基本数据类型转换为对应的包装类型的过程。 Integer i = 12;
      拆箱:包装类型转换为基本数据类型的过程。int a = i;
   ③自动装箱原理:【面试重点+难点】
      (1)自动装箱底层 调用时 Integer类中 valueOf方法完成转换。

public static Integer valueOf(int i){
if(i>= -128 && i<=127)
return  对应的常量池的包装结果;
return new Integer(i);
}

      (2)为了提高转换的效率,Integer中将-128~127作为常用数据段进行预先包装处理,把包装结果存储在方法区常量池中,也称为缓冲区。
      面试题目:

Integer i1 = 12;
Integer i2 = 12;
System.out.println(i1==i2);//true

Integer i3 = 129;
Integer i4 = 129;
System.out.println(i3==i4);//false

5.实际开发应用重点:【开发应用重点】
   (1)作用:可以区分程序中有效数据和无效数据,例如:0和null;0.0和null等
   (2)场景:通常将类中属性由之前的基本数据类型 改变为 对应包装类型 ---->区分数据的有效性。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: