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);
    }
}
相关推荐
mifengxing6 小时前
LeetCode 41.缺失的第一个正数|Hard题O(n)+O(1)最优解法深度解析
java·算法·leetcode·排序算法
markinmarkin8 小时前
Spring 中Bean 的作用域有哪些?
java·后端·spring
山荷枝9 小时前
Java学习第十天
java·学习
matlabgoodboy10 小时前
计算机毕设代做|Java Python Matlab APP 全套开发设计
java·python·课程设计
程序员雷欧11 小时前
环形缓冲区深度解析:从基础原理到Disruptor源码的全面剖析
java
xiaoqiMikko11 小时前
Dependabot 面板全绿,不代表你的 Tomcat 没洞
java·spring boot
前端开发张小七11 小时前
Java 学习笔记 · 第三课:多线程与并发编程(线程、同步、死锁、Lock、乐观锁与悲观锁)
java·后端·程序员
花生了什么事o12 小时前
JVM 垃圾回收:对象如何被判定和回收
java·jvm
evans在进步12 小时前
HashMap 为什么线程不安全?ConcurrentHashMap 如何解决?
java·spring boot·spring
我命由我1234512 小时前
匈牙利命名法
java·服务器·后端·学习·java-ee·kotlin·学习方法