💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] # 基本类型包装类 基本数据类型对象包装类:java将基本数据类型值封装成了对象。封装成对象有什么好处?可以提供更多的操作基本数值的功能。 ## 概述 ![](https://box.kancloud.cn/6e4eb3b0ed27e0c9593618912b7a9ebb_770x225.png) 其中需要注意int对应的是Integer,char对应的Character,其他6个都是基本类型首字母大写即可。 基本数据类型对象包装类特点:用于在基本数据和字符串之间进行转换。 ## 将字符串转成基本类型 ![](https://box.kancloud.cn/90f7c645fbc475b91a460894f196c4a5_773x379.png) parseXXX(String s);其中XXX表示基本类型,参数为可以转成基本类型的字符串,如果字符串无法转成基本类型,将会发生数字转换的问题 NumberFormatException ~~~ System.out.println(Integer.parseInt("123") + 2); //打印结果为 125 ~~~ ## 基本类型转成字符串 * 将基本数值转成字符串有3种方式: - 基本类型直接与””相连接即可;34+"" - 调用String的valueOf方法;String.valueOf(34) ; - 调用包装类中的toString方法;Integer.toString(34) ## 基本类型和对象转换 使用int类型与Integer对象转换进行演示,其他基本类型转换方式相同。 * 基本数值---->包装对象 ![](https://box.kancloud.cn/47d29cd9f14429d836cbbed79678d26e_744x110.png) ![](https://box.kancloud.cn/68b6607728531468b8010eca83cc98e3_746x130.png) * 包装对象---->基本数值 ![](https://box.kancloud.cn/430ebca150edc77f4bb00123196c96a1_592x76.png) ## 自动装箱拆箱 在需要的情况下,基本类型与包装类型可以通用。有些时候我们必须使用引用数据类型时,可以传入基本数据类型。 比如: 基本类型可以使用运算符直接进行计算,但是引用类型不可以。而基本类型包装类作为引用类型的一种却可以计算,原因在于,Java”偷偷地”自动地进行了对象向基本数据类型的转换。 相对应的,引用数据类型变量的值必须是new出来的内存空间地址值,而我们可以将一个基本类型的值赋值给一个基本类型包装类的引用。原因同样在于Java又”偷偷地”自动地进行了基本数据类型向对象的转换。 * 自动拆箱:对象转成基本数值 * 自动装箱:基本数值转成对象 ~~~ Integer i = 4;//自动装箱。相当于Integer i = Integer.valueOf(4); i = i + 5;//等号右边:将i对象转成基本数值(自动拆箱) i.intValue() + 5; 加法运算完成后,再次装箱,把基本数值转成对象。 ~~~ * 自动装箱(byte常量池)细节的演示 **当数值在byte范围之内时,进行自动装箱,不会新创建对象空间而是使用医来已有的空间。** ~~~ Integer a = new Integer(3); Integer b = new Integer(3); System.out.println(a==b);//false System.out.println(a.equals(b));//true System.out.println("---------------------"); Integer x = 127; Integer y = 127; //在jdk1.5自动装箱时,如果数值在byte范围之内,不会新创建对象空间而是使用原来已有的空间。 System.out.println(x==y); //true System.out.println(x.equals(y)); //true ~~~