想创建一个 List<Integer> 数组
一开始这样做
- Java code
class Vertex { List<Integer> adj = new ArrayList<Integer>();}Vertex[] v = new Vertex[n]
然后在使用
v[i].adj.add(k) 的时候出错 其中 k 是 int
这是怎么回事?
还有想用另一种做创建如下也出错 是为什么?
- Java code
List<Integer>[] adj = new List<Integer>[n];for (List<Integer> lst: adj) lst = new ArrayList<Integer>()
------解决方案--------------------
为什么上面都说是:int是基础类型,不是Integer对象导致的?
难道楼主用的是JDK1.5以下的版本?
我觉得应该是空指针异常吧,
Vertex[] v = new Vertex[n]这样试试创建了一个数组,并没有初始化数组里的任何一个元素啊、
- Java code
package test;import java.util.ArrayList;import java.util.List;public class Vertex { List<Integer> adj = new ArrayList<Integer>(); public static void main(String[] args) { int n = 10, i = 0; Vertex[] v = new Vertex[n]; v[i] = new Vertex(); v[i].adj.add(10); }}
------解决方案--------------------