关于包装类

包装类

  • 基本数据类型所对应的的引用数据类型
  • Object可统一所有数据,包装类的默认值是null

包装类对应

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

类型转换与装箱,拆箱

  • 8种包装类提供不同类型间的转换方式
  • Number父类中提供的6个共性方法
    • parseXXX()静态方法
  • valueOf静态方法
package baoz;

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

        //Byte Short Interger Long Float Double 都具有将自身类型的对象,转换成其他6种基本类型的方法
        Short s =  new Short("10");

        byte v1 = s.byteValue();
        short v2 = s.shortValue();
        int v3 = s.intValue();
        long v4 = s.longValue();
        float v5 = s.floatValue();
        double v6 = s.doubleValue();

        System.out.println(v1);
        System.out.println(v2);
        System.out.println(v3);
        System.out.println(v4);
        System.out.println(v5);
        System.out.println(v6);

    }

}
  • 注意:需保证类型兼容,否则抛出NumberFormatException异常

  • JDK 5.0之后,自动装箱,拆箱。基本数据类型和包装类自动转换

整数缓冲区

  • Java预先创建了256个常用的整数包装类型对象

  • 在实际应用当中,对已创建的对象进行复用

package objects;

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

        //语法糖(Java语法规范)
        Byte b =  10;//自动装箱,调用valueOf(byte b)
        byte b1 = b;//自动拆箱,调用byteValue(); shortValue() intValue() booleanValue()


        Short s1 = 100;//从长度为256的数组(取值范围为-128到127)中,取出预先创建好的一个对象(此对象代表整数100)如0x1111
        Short s2 = 100;//同样取出0x1111

        Short s3 = 200;//由于超出数组取值范围,创建一个新对象0x1234
        Short s4 = 200;//由于超出数组取值范围,创建一个新对象0x6789

        System.out.println(s1 == s2);//true
        System.out.println(s3 == s4);//false



    }


}
发布了6 篇原创文章 · 获赞 0 · 访问量 194

猜你喜欢

转载自blog.csdn.net/weixin_42286688/article/details/104078411