Java教程

常用类之包装类

本文主要是介绍常用类之包装类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

包装类

基本数据类型所对应的引用数据类型。

Object可统一所有数据,包装类的默认值是null

一、包装类对应

基本数据类型包装类型
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
booleanBoolean
charCharacter

二、类型转换

1、装箱

基本类型–>对象

2、拆箱

对象–>基本类型

//包装类
public class BagClass {
    public static void main(String[] args) {
        //jdk1.5之前用法
        int num1 = 10;
        //装箱
        Integer integer1 = new Integer(num1);
        Integer integer2 = Integer.valueOf(num1);
        //拆箱
        Integer integer3 = new Integer(20);
        int num2 = integer3.intValue();
        
        //jdk1.5之后,提供自动装箱与拆箱 - 实际代码与1.5之前代码相同,只是优化了代码
        int num3 = 30;
        Integer integer4 = num2;//自动装箱
        int num4 = integer4;//自动拆箱
    }
}

3、基本类型与字符串之间转换

(1)基本类型转成字符串

int n1 = 1;
//方法一:直接用“+”号连接
String str1 = n1 + "";
//方法二:用Integer中的toString方法
String str2 = Integer.toString(n1);
String str3 = Integer.toString(n1, 16);//将数据以16进制形式转换为字符串(重载方法)
//……

(2)字符串转换成基本类型

String str = "1234";
//使用Integer.parseXXX(); - XXX类型
int n1 = Integer.parseInt(str);

boolean字符串形式转换成基本来兴,“true”–>true;“非true”—>false

String str = "true";
boolean b1 = Boolean.parseBoolean(str);

三、Integer缓冲区

public class IntegerBuffer {
    public static void main(String[] args) {
        //面试题
        //integer1与integer2是不同的对象,在堆中的地址不同,所以会输出false
        Integer integer1 = new Integer(100);
        Integer integer2 = new Integer(100);
        System.out.println(integer1 == integer2);

        //Java预先创建了256个常用的整数包装类型对象
        //integer3与integer4 - 相当于堆中的100的地址赋给integer3和4,地址相同输出true
        Integer integer3 = 100;
        Integer integer4 = 100;
        System.out.println(integer3 == integer4);

        //如果根据上面的结论,integer5和integer6应该也是true
        //但是,Integer在堆中仅预设了(-128)~(127),其他不在这个范围内的数值,将会以new的形式创建
        Integer integer5 = 200;
        Integer integer6 = 200;
        System.out.println(integer5 == integer6);
    }
}

结果为:

false

true

false


知识点整理自bilibili(Java学习营)视频链接

这篇关于常用类之包装类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!