Java进阶学习笔记26——包装类

包装类:

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

看下API文档:

deprecated:极力反对、不赞成的意思。

marked for removal:标识为去除的意思。

自动装箱:基本数据类型可以自动转换成包装类。

自动拆箱:包装类型可以自动转换成基本数据类型。

包装类提供了很多常见的方法给我们:

java 复制代码
package cn.ensource.d15_integer;

import cn.ensource.d1_inner_class1.Outer;

import java.lang.reflect.Array;
import java.util.ArrayList;

public class Test {
    public static void main(String[] args) {
        // 目标:掌握包装类的使用
//        Integer a1 = new Integer(12);

        Integer a2 = Integer.valueOf(12);
        System.out.println(a2);

        // 自动装箱机制:自动把基本数据类型的数据转成对象
        Integer a3 = 18;
        System.out.println(a3);

        // 自动拆箱,可以自动把包装类的对象转换成对应的基本数据类型
        int a4 = a3;
        System.out.println(a4);

        // 泛型和集合不支持基本数据类型,只能支持引用数据类型
//        ArrayList<int> list = new ArrayList<>();
        // 可见泛型是不支持数据类型的。

        ArrayList<Integer> list = new ArrayList<>();
        list.add(12);     //自动装箱,再放到ArrayList集合中
        list.add(13);

        int res = list.get(1);   // 自动拆箱,可见非常灵活
        System.out.println(res);

        System.out.println("----------------------");
        // 1. 把基本类型的数据转换成字符串
        Integer a = 23;
        String rs1 = Integer.toString(a);
        System.out.println(rs1 + 1);

        String rs2 = a.toString();
        System.out.println(rs2 + 1);

        // 2. 把字符串类型的数值转换成对应的基本类型
        String agestr = "29";
//        int age = Integer.parseInt(agestr);
        int age = Integer.valueOf(agestr);
        System.out.println(age + 1);

        String scoreStr = "99.5";
//        double score = Double.parseDouble(scoreStr);
        double score = Double.valueOf(scoreStr);
        System.out.println(score + 0.5);
    }
}
相关推荐
DKPT32 分钟前
Java桥接模式实现方式与测试方法
java·笔记·学习·设计模式·桥接模式
好奇的菜鸟2 小时前
如何在IntelliJ IDEA中设置数据库连接全局共享
java·数据库·intellij-idea
DuelCode3 小时前
Windows VMWare Centos Docker部署Springboot 应用实现文件上传返回文件http链接
java·spring boot·mysql·nginx·docker·centos·mybatis
优创学社23 小时前
基于springboot的社区生鲜团购系统
java·spring boot·后端
幽络源小助理3 小时前
SpringBoot基于Mysql的商业辅助决策系统设计与实现
java·vue.js·spring boot·后端·mysql·spring
猴哥源码3 小时前
基于Java+springboot 的车险理赔信息管理系统
java·spring boot
YuTaoShao4 小时前
【LeetCode 热题 100】48. 旋转图像——转置+水平翻转
java·算法·leetcode·职场和发展
Dcs4 小时前
超强推理不止“大”——手把手教你部署 Mistral Small 3.2 24B 大模型
java
东阳马生架构5 小时前
订单初版—1.分布式订单系统的简要设计文档
java
Code blocks5 小时前
使用Jenkins完成springboot项目快速更新
java·运维·spring boot·后端·jenkins