• JavaSE之包装类



    提示:以下是本篇文章正文内容,Java系列学习将会持续更新

    一、基本概述

     在某些场合要求所有的数据内容都必须是类型的对象,而Java语言中有8种基本数据类型声明的遍历都不是对象。
     为了使得这些数据在该场合中能够使用,则需要进行对象化处理,此时就需要借助包装类将变量包装成对象在进行使用。

    8个基本数据类型booleanbyteshortintlongfloatdoublechar
    对应的包装类BooleanByteShortIntegerLongFloatDoubleCharacter

    二、Integer类型

    java.lang.Integer类是Object类的间接子类,用于包装int类型的数据。

    该类由final关键字修饰,表示该类不能被继承。

    常用方法

    ①该类重写了Object类的equals()、hashCode()以及toString()方法

    ②构造方法

    Integer(int value); // 根据参数指定的整数值来构造对象
    Integer(String s);  // 根据参数指定的字符串来构造对象
    
    • 1
    • 2

    ③Integer -> int

     int intValue(); // 用于获取调用对象中含有的int类型数据并返回。
                     // 用于实现将Integer类型拆包为int类型
    
    • 1
    • 2

    ④int / String -> Integer

    static Integer valueOf(int i);  // 将int类型数据转换成Integer类型的对象。
    static Integer valueOf(String s); // 将String类型数据转换成Integer类型的对象。
    
    • 1
    • 2

    ⑤String -> int

    static int parseInt(String s); // 用于将String类型 -> int类型的整数(掌握)
    
    • 1

    三、装箱和拆箱

    由int类型向Integer类型的转换过程,叫做装箱
    由Integer类型向int类型的转换过程,叫做拆箱

    从jdk1.5开始,支持自动装箱和自动拆箱的机制。

    Integer it = 100;  // int -> Integer, 自动装箱,自动调用valueOf()方法
    
    int a = it + 1;  // Integer -> int,自动拆箱,自动调用intValue()方法
    				 // 将Integer类型的it拆为int类型,再进行加法运算
    
    • 1
    • 2
    • 3
    • 4

    注意:当 Integer 为null 时,是不能转换成int类型的,编译器会报出空指针异常。

    四、自动装箱池

     为了提高性能在Integer类的内部提供了自动装箱池,也就是把 -128 ~ 127 之间的整数提前装箱完毕,若程序中需要该范围内的数据则直接从装箱池中获取,无需创建新对象。

    回到目录…


    总结:
    提示:这里对文章进行总结:
    以上就是今天的学习内容,本文是JavaSE的学习,认识JDK中的包装类,自动装箱和自动拆箱机制,以及Integer的用法。之后的学习内容将持续更新!!!

  • 相关阅读:
    Java8新特性之新日期时间API
    QT 学习笔记(八)
    springboot+mybatis-plus初尝试
    八股文总结
    String-Worker 让创建 WebWorker 更轻松
    【Axure教程】能增删改数据的动态饼图
    LeetCode448:找到所有数组中消失的数字
    Java 跨域解决
    用KUSTO查询语句(KQL)在Azure Data Explorer Database上查询LOG实战
    Qt第三十一章:渐变QGradient
  • 原文地址:https://blog.csdn.net/qq15035899256/article/details/126239067