2016-01-28 51 views
1

我创建了一个List调用nodes_并初始化为ArrayList, 当我添加一些东西给nodes_时,所有元素都为null。 有一段代码:arrayList中的所有元素在java中添加到arrayList时为null

public class MyOocmdgGeneration1 { 
private List<Node> nodes_ = new ArrayList<Node>(); 

public MyOocmdgGeneration1() { 
    findDependency(); 
} 

private void findDependency() { 

    ClassNode c1 = new ClassNode(); 
    FieldNode x = new FieldNode(); 
    MethodNode c1Constructor = new MethodNode(); 
    MethodNode m1 = new MethodNode(); 

    nodes_.add(c1); 
    nodes_.add(x); 
    nodes_.add(c1Constructor); 
    nodes_.add(m1); 

,并出现一种其他类:

public abstract class Node { 
private String path; 
private List<Node> callees; 
private List<Node> callers; 
private List<Node> children; 
private Node parent; 
private int id; 

public Node() { 
    this.callees = new ArrayList<>(); 
    this.callers = new ArrayList<>(); 
    this.children = new ArrayList<>(); 
} 

public Node(String path, List<Node> callees, List<Node> callers) { 
    this(); 
    this.path = path; 
    this.callees = callees; 
    this.callers = callers; 
    this.children = new ArrayList<>(); 
} 

public Node(int id, String path, Node parent) { 
    this(); 
    this.id = id; 
    this.path = path; 
    this.parent = parent; 
    parent.addChild(this); 
} 

当我debuged,它看起来像这样:debug image

回答

2

你看到什么("null")是在每个类别上调用的toString()的输出。它们实际上不是空的。

你怎么知道?调试器显示每个条目,如[email protected]。这是指一个特定的实例,不是null。

+0

Ohhhh,yeahhhhh,谢谢,我发现我的问题。它不是一个无效的数组列表 –

0

节点不为空。对象都在那里,但它们的toString表示是“null”。

相关问题