自在如风

java 基本数据类型对象包装类

java 基本数据类型对象包装类

定义

为了方便操作基本数据类型值,Java将其封装成了对象,在对象中定义了属性和行为。用于描述该对象的类就称为基本数据类型对象包装类。

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

作用

用于基本数据类型和字符串类型之间做转换。

基本数据类型转成字符串

  • 基本数据类型 + ""
    String num = 1 + "a";
  • 基本数据类型.toString(基本数据类型值);
    Integer.toString(34);// 将34整数变成“34”

字符串转成基本数据类型

  1. 使用包装类中的静态方法:xxx parseXxx("xxx类型的字符串")。
    • 只有Character没有parse方法,本身就是封装了字符,无须转换
int a = Integer.parseInt("123");
double b = Double.parseDouble("12.23");
boolean b = Boolean.parseBoolean("true");
  1. 如果字符串被xxx包装类进行对象的封装,使用xxxValue()。
/*格式
Xxx i = new Xxx(String);
xxx num = i.xxxValue();
*/
Integer i = new Integer(String);
int num = i.intValue();

扩展:自动装箱与拆箱

JDK1.5版本以后出现的新特性。

  • 自动装箱:将一个基本数据类型的值赋给其所对应的包装类类型。
  • 自动拆箱:将一个基本数据类型包装类类型的值赋给其所对应的基本数据类型。
Integer x = 4;//自动装箱。=new Integer(4)
x = x/* x.intValue() */ + 2;//x+2:x 进行自动拆箱,变成int类型后和2进行加法运算,再将和进行装箱赋给x。

对于新特性,当某一个数值存在于byte范围内时,java不会再开辟新的空间。

class Demo {
    public static void main(String[] args) {

        Integer m = 128;
        Integer n = 128;
        System.out.println("m==n:" + (m == n));//m==n:false
        Integer a = 127;
        Integer b = 127;
        System.out.println("a==b:" + (a == b));//a==b:true。因为a和b指向了同一个Integer对象。
    }
}

posted @ 2020-04-02 17:13  我是痕  阅读(300)  评论(0编辑  收藏  举报