day16 java 包装类

包装类

包装类 : Java给每种基本数据类型都创建了一个对应的类 该类叫作包装类。

包装类的作用: 包装类可以弥补基本数据类型在面向对象的环境中的局限性和便利性。

复制代码
自动拆箱 :将包装类的类型转成基本数据类型。
自动装箱 :将基本数据类型转成包装类的类型
java 复制代码
@Test
    public void test2(){
        //创建Integer类的对象
        Integer var = new Integer(1);

        int a = var;//自动拆箱 -- 只有包装类可以这么做

        Integer var2 = 220;//自动装箱 -- 只有包装类可以这么做
    }
java 复制代码
public class WrapperTest2 {

    /*
        包装类 -> 基本数据类型 :自动拆箱
     */
    @Test
    public void test(){
       //方式一 :自动拆箱
       int a = new Integer(2);

       //方式二(知道就可以):
        Integer var = new Integer(2);
        int i = var.intValue();
        System.out.println(i);
    }

    /*
        基本数据类型 -> 包装类 :自动装箱
     */
    @Test
    public void test2(){
        //方式一 :自动装箱
        Integer a = 10;

        //方式二(知道即可): 通过构造器
        int b = 10;
        Integer var = new Integer(b);
    }

    /*
        基本数据,包装类 -> String
        包装类 -> String   : 调用包装类的toString方法
        基本数据 -> String : ①字符串拼接 ②String.valueOf()
     */
    @Test
    public void test3(){
        //基本数据类型 -> String
        //方式一 : 字符串拼接
        int a = 10;
        String s = a + "";
        //方式二 : String.valueOf()
        String s2 = String.valueOf(a);

        //包装类 -> String : 调用包装类的toString方法
        Integer i = new Integer(10);
        String s3 = i.toString();
    }

    /*
        String -> 基本数据类型,包装类
        String -> 基本数据类型 : 对应的包装类.parseXxxx
        String -> 包装类 :通过包装类的构造器
     */
    @Test
    public void test4(){
        //String -> 基本数据类型 : 对应的包装类.parseXxxx
        int i = Integer.parseInt("1");
        boolean b = Boolean.parseBoolean("true");
        //NumberFormatException - 下面的写法是错误的
        //double d = Double.parseDouble("xiaolongge");
        System.out.println(i + " " + b);


        //String ->包装类 : 通过包装类的构造器
        Integer a = new Integer("1");
        Boolean bo = new Boolean("true");
        System.out.println(a + " " + bo);
    }
}
相关推荐
星恒随风11 分钟前
C++ STL 详解:list 的使用、迭代器失效、模拟实现与 vector 对比
开发语言·数据结构·c++·笔记·学习·list
小白说大模型14 分钟前
AI Agent 调试实战:链路追踪、Prompt 可视化与异常定位的系统方法
java·人工智能·python·算法·prompt
静水楼台x14 分钟前
spring security
java·数据库·spring
重生之我是Java开发战士16 分钟前
【Java EE】Spring Boot配置文件
java·spring boot·java-ee
Tim_1017 分钟前
【C++】019、内存泄漏
java·开发语言
牢姐与蒯23 分钟前
c++之异常
开发语言·c++·c++11
此生决int25 分钟前
深入理解C++系列(02)——类和对象(上)
开发语言·c++
咖啡八杯39 分钟前
文法、BNF与AST
java·设计模式·解释器模式·ast·文法
要开心吖ZSH3 小时前
一文搞懂:JDK 21 虚拟线程 vs N种异步方案,到底该怎么选?
java·数据库·jdk·虚拟线程
-银雾鸢尾-5 小时前
C#中的拓展方法
开发语言·c#