目录
一、ArrayList
1. 定义与基本特性
ArrayList
是一个可伸缩的动态数组,它不是传统意义上的数组,但提供了类似数组的使用方式。它能够根据需要自动扩展容量,从而方便地存储和管理数据。
ArrayList<String> list = new ArrayList<>();
ArrayList
只能存储引用类型的数据,不能直接存储基本数据类型(如int
、float
等)。为了方便使用,Java为基本数据类型提供了对应的包装类,例如:
-
int
→Integer
-
long
→Long
-
float
→Float
-
double
→Double
-
boolean
→Boolean
-
char
→Character
-
byte
→Byte
-
short
→Short
在使用时,基本类型和包装类几乎可以无缝互用:
2. 自动装箱与自动拆箱
-
自动装箱:将基本类型的数据自动转换为对应的包装类。例如,将
int
类型的变量自动转换为Integer
类型。 -
自动拆箱:将包装类的数据自动转换为对应的基本类型。例如,将
Integer
类型的变量自动转换为int
类型。
ArrayList<Integer> list = new ArrayList<>();
list.add(10); // 自动装箱,将int类型的10转换为Integer类型
int value = list.get(0); // 自动拆箱,将Integer类型的值转换为int类型
3. Integer的128陷阱
在Java中&#