包装类的概念、装箱和拆箱、基本数据类型和字符串的相互转换

包装类的概念 

包装类就是将基本数据类型封装到类中。

包装类的产生原因:使用Object类接收一切东西。

(一)基本数据类型的包装类

  1. 数值型包装类(Number的直接子类)
数据类型 对应包装类
byte Byte
int Integer
long Long
short Short
float Float
double Double

  1. 对象型包装类(Object的直接子类)
数据类型 包装类
boolean Boolean
char Character

(二)装箱与拆箱

  1. 装箱
    装箱:将基本数据类型变为包装类对象。利用每个包装类的构造方法实现。
  2. 拆箱
    拆箱:将包装类中包装的基本数据类型取出。利用**Value();
        //手工装箱
        Integer a = new Integer(10);
        //手工拆箱
        int res = i.intValue();
        System.out.println(res);
        //自动装箱
        Integer b = 10;
        //自动拆箱
        System.out.println(b);

注意:对于Integer var = ? 在[-128-127]的赋值,Integer对象在常量池产生,会覆用已有对象;这个区间外的所有数据,都在堆上产生,不会覆用已有对象。

Integer a1 = 10;
Integer a2 = 10;
a1 == a2 //true

Integer a3 = 128;
Integer a4 =128;
a3 == a4 //false

(三)什么时候使用int ,Integer

  1. [强制]所有POJO(简单java类,类中只有成员变量,构造方法,getter/setter方法)类属性必须使用包装类。
  2. [强制]RPC方法返回值和参数必须使用包装类。(远程方法调用)
  3. [推荐]所有的局部变量使用基本类型。

(四)包装类与字符串的转换

  1. String -> 基本数据类型
    包装类.parse数据类型(str)

字符串->int型    public static int parseInt(String s) throws NumberFormatException
字符串->double型    public static int parseDoublet(String s) throws NumberFormatException
字符串->int型    public static int parseBoolean(String s)

2.1基本数据类型 -> String
1)“”+基本数据类型
2)调用String 类提供的 valueOf(基本类型),推荐—不产生垃圾空间。

 

        //基本数据类型转换成字符串
        //两种方法
        String str1 = String.valueOf(10);
        String str2 = ""+10;

猜你喜欢

转载自blog.csdn.net/m0_70051776/article/details/128075610