Java 包装类

  1. 包装类就是把基本类型的数据包装成对象。

|---------|-----------------------------|
| 基本类型 | 包装类(引用类型,包装类都位于java.Lang包下) |
| byte | Byte |
| short | Short |
| int | Integer 【特殊】 |
| long | Long |
| float | Float |
| double | Double |
| char | Character 【特殊】 |
| boolean | Boolean |

  1. 基本类型的数据包装成对象方法(以int为例) 其他的同理(valueOf 方法 )

public static Integer valueOf(int i)

java 复制代码
public static void main(String[] args) {
        //Integer
        Integer i =  Integer.valueOf(5);
        System.out.println(i);

        //自动装箱 可以自动把基本数据类型的数据转换成包装类对象
        Integer i2 = 5;
        System.out.println(i2);

        //自动拆箱 可以自动把包装类对象基本数据类型
        int i3 = i2;

        //泛型和集合不支持基本数据类型 只能支持引用数据类型(包装类对象)
        ArrayList<Integer> list = new ArrayList<>();
        list.add(7);
        list.add(8);
        list.add(9);

        int i4 = list.get(0);//自动拆箱

}
  1. 包装类的常见方法

(1) 可以把基本数据类型的数据转换成字符串类型

public static String toString(double d)

public String toString()

(2) 可以把字符串类型的数值转换成数值本身的数据类型

public static int parseInt(String s)

public static Integer valueOf(String s)

java 复制代码
public static void main(String[] args) {

        // 1. 可以把基本数据类型的数据转换成字符串类型
        Integer a = 15;
        String s1 = Integer.toString(a);
        System.out.println(s1 + 1);//151

        String s2 = a.toString();
        System.out.println(s2 + 1);//151

        //常用
        String s3 = a + "";
        System.out.println(s3 + 1);//151

        //2. 可以把字符串类型的数值转换成数值本身的数据类型
        String s4 = "18";
        //int i5 = Integer.parseInt(s4) + 1;
        int i5 = Integer.valueOf(s4) + 1;//建议使用
        System.out.println(i5);//19

        String s5 = "18.8";
        //double d = Double.parseDouble(s5);
        double d = Double.valueOf(s5);//建议使用
        System.out.println(d+1.0);//19.8


}
相关推荐
java搬砖工-苤-初心不变11 分钟前
OpenResty 配合 Lua 脚本的使用
开发语言·lua·openresty
IT灰猫16 分钟前
C++轻量级配置管理器升级版
开发语言·c++·设计模式·配置管理·ini解析
纪元A梦22 分钟前
贪心算法应用:信用评分分箱问题详解
java·算法·贪心算法
Swift社区28 分钟前
如何解决 Vue2 前端项目为何无法访问本地资源(chunk.js 加载一直 pending/转圈)
开发语言·前端·javascript
大飞pkz37 分钟前
【设计模式】题目小练2
开发语言·设计模式·c#·题目小练
啟明起鸣42 分钟前
【网络编程】从与 TCP 服务器的对比中探讨出 UDP 协议服务器的并发方案(C 语言)
服务器·c语言·开发语言·网络·tcp/ip·udp
007php0071 小时前
Redis高级面试题解析:深入理解Redis的工作原理与优化策略
java·开发语言·redis·nginx·缓存·面试·职场和发展
九章云极AladdinEdu1 小时前
深度学习优化器进化史:从SGD到AdamW的原理与选择
linux·服务器·开发语言·网络·人工智能·深度学习·gpu算力
axban1 小时前
QT M/V架构开发实战:QStandardItemModel介绍
开发语言·数据库·qt
Yeats_Liao1 小时前
Spring缓存(二):解决缓存雪崩、击穿、穿透问题
java·spring·缓存