问:下面两个代码片段有问题吗,为什么?
//Part 1
List<Object> obj = new ArrayList<Long>();
obj.add("I love Android!");
//Part 2
Object[] objArray = new Long[1];
objArray[0] = "I love Android!";
答:上面 Part 1 编译出错,Part 2 编译 OK,运行出错。
因为 List<Object> 和 ArrayList<Long> 没有继承关系,而 Java 的数组是在运行时类型检查的。
|