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);
    }
}
相关推荐
知乎的哥廷根数学学派16 分钟前
基于生成对抗U-Net混合架构的隧道衬砌缺陷地质雷达数据智能反演与成像方法(以模拟信号为例,Pytorch)
开发语言·人工智能·pytorch·python·深度学习·机器学习
better_liang22 分钟前
每日Java面试场景题知识点之-XXL-JOB分布式任务调度实践
java·spring boot·xxl-job·分布式任务调度·企业级开发
会游泳的石头24 分钟前
一行注解防死循环:MyBatis 递归深度限制(无需 level 字段)
java·mybatis
q***o37625 分钟前
Spring Boot环境配置
java·spring boot·后端
oMcLin28 分钟前
如何在SUSE Linux Enterprise Server 15 SP4上通过配置并优化ZFS存储池,提升文件存储与数据备份的效率?
java·linux·运维
TaiKuLaHa41 分钟前
Spring Bean的生命周期
java·后端·spring
yeziyfx1 小时前
kotlin中 ?:的用法
android·开发语言·kotlin
charlie1145141911 小时前
嵌入式的现代C++教程——constexpr与设计技巧
开发语言·c++·笔记·单片机·学习·算法·嵌入式
刀法如飞1 小时前
开箱即用的 DDD(领域驱动设计)工程脚手架,基于 Spring Boot 4.0.1 和 Java 21
java·spring boot·mysql·spring·设计模式·intellij-idea