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


}
相关推荐
海边的Kurisu43 分钟前
苍穹外卖日记 | Day1 苍穹外卖概述、开发环境搭建、接口文档
java
C雨后彩虹4 小时前
任务最优调度
java·数据结构·算法·华为·面试
heartbeat..4 小时前
Spring AOP 全面详解(通俗易懂 + 核心知识点 + 完整案例)
java·数据库·spring·aop
Jing_jing_X4 小时前
AI分析不同阶层思维 二:Spring 的事务在什么情况下会失效?
java·spring·架构·提升·薪资
SmartRadio6 小时前
CH585M+MK8000、DW1000 (UWB)+W25Q16的低功耗室内定位设计
c语言·开发语言·uwb
rfidunion6 小时前
QT5.7.0编译移植
开发语言·qt
rit84324996 小时前
MATLAB对组合巴克码抗干扰仿真的实现方案
开发语言·matlab
元Y亨H6 小时前
Nacos - 服务发现
java·微服务
微露清风6 小时前
系统性学习C++-第十八讲-封装红黑树实现myset与mymap
java·c++·学习
dasi02276 小时前
Java趣闻
java