基本类型的包装类

Posted houyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基本类型的包装类相关的知识,希望对你有一定的参考价值。

  用来封装一个基本类型值,有时需要把基本类型值,当做引用类型来使用。例:

void f(Object obj) {

}

// f(6)无法直接传入一个int类型的整数6
f(new Integer(6))

一、对应的基本类型的包装类

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double

char

Character

boolean

Boolean

二、Integer

  2.1 创建对象

    2.1.1 new Integer(6)

    2.1.2 Integer.valueOf(6)

      Integer类中,有一个 Integer 对象缓存数组,其中缓存了 256 个对象,封装的值范围 [-128, 127]

      指定范围内的值,直接访问缓存对象

      指定范围外的值,新建对象

 

  2.2 字符串解析成 int

    Integer.parseInt("255")  255

    Integer.parseInt("11111111", 2) 255

    Integer.parseInt("ff", 16)   255

    Integer.parseInt("377", 8)   255

 

  2.3 int整数,转成其他进制字符串

    Integer.toBinaryString(255)  "11111111"

    Integer.toOctalString(255)  "377"

    Integer.toHexString(255)  "ff"

三、自动装箱,拆箱

  3.1 自动装箱

    基本类型值,自动封装成包装类型

 

    Integer a = 6;

    编译器编译成:

    Integer a = Integer.valueOf(6);

 

  3.2 自动拆箱

    自动取出包装对象中封装的值

 

    int i = a;

    编译器编译成:

    int i = a.intValue();

 

    a = a + 1;

    编译器编译成:

    a = Integer.valueOf(a.intValue() + 1);

 

    注:自动拆箱,要当心 null 值

 

四、BigDecimalBigInteger

  BigDecimal 做精确的浮点数运算

  BigInteger 做超大的整数运算

 

  4.1 创建对象

    BigDecimal.valueOf(2)

  4.2 方法

    add(BigDecimal bd)

    subtract(BigDecimal bd)

    multiply(BigDecimal bd)

    divide(BigDecimal bd)

    divide(BigDecimal bd,保留位数,舍入方式)

    setScale(保留位数,舍入方式)

以上是关于基本类型的包装类的主要内容,如果未能解决你的问题,请参考以下文章

Java var定义基本数据类型变量实际类型问题(原始类型或包装类)

Java基础(35):装箱与拆箱---Java 中基本类型和包装类之间的转换

java中怎样把double基本数据类型包装在Double类

JAVA包装类介绍(包装类基本类型数据)

基本数据类型的包装类

基本类型和包装类