提示:以下是本篇文章正文内容,Java系列学习将会持续更新
一、基本概述
在某些场合要求所有的数据内容都必须是类型的对象,而Java语言中有8种基本数据类型声明的遍历都不是对象。
为了使得这些数据在该场合中能够使用,则需要进行对象化处理,此时就需要借助包装类将变量包装成对象在进行使用。
8个基本数据类型 | boolean | byte | short | int | long | float | double | char |
---|---|---|---|---|---|---|---|---|
对应的包装类 | Boolean | Byte | Short | Integer | Long | Float | Double | Character |
二、Integer类型
java.lang.Integer类是Object类的间接子类,用于包装int类型的数据。
该类由final关键字修饰,表示该类不能被继承。
常用方法:
①该类重写了Object类的equals()、hashCode()以及toString()方法
②构造方法
Integer(int value); // 根据参数指定的整数值来构造对象
Integer(String s); // 根据参数指定的字符串来构造对象
③Integer -> int
int intValue(); // 用于获取调用对象中含有的int类型数据并返回。
// 用于实现将Integer类型拆包为int类型
④int / String -> Integer
static Integer valueOf(int i); // 将int类型数据转换成Integer类型的对象。
static Integer valueOf(String s); // 将String类型数据转换成Integer类型的对象。
⑤String -> int
static int parseInt(String s); // 用于将String类型 -> int类型的整数(掌握)
三、装箱和拆箱
由int类型向Integer类型的转换过程,叫做装箱。
由Integer类型向int类型的转换过程,叫做拆箱。
从jdk1.5开始,支持自动装箱和自动拆箱
的机制。
Integer it = 100; // int -> Integer, 自动装箱,自动调用valueOf()方法
int a = it + 1; // Integer -> int,自动拆箱,自动调用intValue()方法
// 将Integer类型的it拆为int类型,再进行加法运算
注意:当 Integer 为null 时,是不能转换成int类型的,编译器会报出空指针异常。
四、自动装箱池
为了提高性能在Integer类的内部提供了自动装箱池,也就是把 -128 ~ 127
之间的整数提前装箱完毕,若程序中需要该范围内的数据则直接从装箱池中获取,无需创建新对象。
总结:
提示:这里对文章进行总结:
以上就是今天的学习内容,本文是JavaSE的学习,认识JDK中的包装类,自动装箱和自动拆箱机制,以及Integer的用法。之后的学习内容将持续更新!!!