<分区>
我正在学习泛型,但我有一个误解。
例如我有这个简单的代码:
import java.util.ArrayList;
public class DemoApp {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add(1);
System.out.println(list.get(0).getClass().getName());
int value = (Integer) list.get(0);
}
}
我不明白为什么要将 list.get(0)
转换为 Integer
因为这条语句 System.out.println(list.get (0).getClass().getName());
有这样的结果 java.lang.Integer
?
如果我使用此语句 int value = list.get(0);
我会收到此错误:Type mismatch: cannot convert from Object to int
... 和实在不明白,list.get(0)
是Object
还是Integer
?