"ArrayList
在第一个示例中,使用了泛型,即在尖括号中指定了 ArrayList 存储的元素类型为 Integer。这样做的好处是在编译时可以对元素的类型进行检查,避免将不同类型的元素添加到 ArrayList 中。同时,在从 ArrayList 中获取元素时,无需进行类型转换。
而在第二个示例中,没有使用泛型,即没有指定 ArrayList 存储的元素类型。这种情况下,ArrayList 可以存储任意类型的元素,包括 Integer、String、Object 等等。但是,在从 ArrayList 中获取元素时,需要进行类型转换。
下面是完整的代码示例:
import java.util.ArrayList;
public class ArrayListExample {
public static void main(String[] args) {
// 第一个示例:使用泛型
ArrayList iList = new ArrayList();
iList.add(1);
iList.add(2);
int num1 = iList.get(0); // 无需进行类型转换
int num2 = iList.get(1); // 无需进行类型转换
System.out.println(num1); // 输出:1
System.out.println(num2); // 输出:2
// 第二个示例:不使用泛型
ArrayList iList2 = new ArrayList();
iList2.add(3);
iList2.add(4);
int num3 = (int) iList2.get(0); // 需要进行类型转换
int num4 = (int) iList2.get(1); // 需要进行类型转换
System.out.println(num3); // 输出:3
System.out.println(num4); // 输出:4
}
}
请注意,在使用不带泛型的 ArrayList 时,需要手动进行类型转换,可能会导致类型错误,因此建议在使用 ArrayList 时尽量使用泛型来提高代码的安全性和可读性。
上一篇:ArrayList<Integer> getDeclaredMethod("add", Integer.class) 抛出 NoSuchMethodException 异常。
下一篇:ArrayList<Integer>和ArrayList<ArrayList<Integer>>之间有什么区别?