Java List 元素无泛型:如何获取元素内容?
在 Java 中,如果 List 的元素没有指定泛型,那么默认情况下元素类型为 Object。你可以使用 Object 类型来取出其中的元素,但这样做会失去类型安全,可能导致类型转换异常。如果能确定元素类型,最好还是指定泛型。
示例:
List list = new ArrayList();
list.add('hello');
list.add(123);
String str = (String) list.get(0); // 取出元素并强制转换为 String 类型,如果 list 中不是 String 类型会抛出 ClassCastException 异常
int num = (int) list.get(1); // 取出元素并强制转换为 int 类型,如果 list 中不是 int 类型会抛出 ClassCastException 异常
使用 instanceof 判断元素类型:
如果你不确定元素类型,可以使用 instanceof 关键字进行判断:
for (Object obj : list) {
if (obj instanceof String) {
String str = (String) obj;
System.out.println(str);
} else if (obj instanceof Integer) {
int num = (int) obj;
System.out.println(num);
}
}
建议:
为了代码的类型安全和可读性,建议在定义 List 时指定泛型。
原文地址: https://www.cveoy.top/t/topic/n63u 著作权归作者所有。请勿转载和采集!