zoukankan      html  css  js  c++  java
  • 基本类型的包装类

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

    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(保留位数,舍入方式)

  • 相关阅读:
    opencv 5 图像转换(1 边缘检测)
    opencv 4 图像处理(漫水填充,图像金字塔与图片尺寸缩放,阈(yu)值化)
    opencv 4 图像处理(2 形态学滤波:腐蚀与膨胀,开运算、闭运算、形态学梯度、顶帽、黑帽)
    HDU 1847-Good Luck in CET-4 Everybody!-博弈SG函数模板
    网络流
    multiset的erase()操作中出现跳过元素的问题
    HRBUST
    L1-8 矩阵A乘以B (15 分)
    L2-2 重排链表 (25 分)
    L2-4 部落 (25 分)
  • 原文地址:https://www.cnblogs.com/houyu/p/11873426.html
Copyright © 2011-2022 走看看