2016-02-01 48 views
1

为什么这样没有工作Java - 如何将数组的每个元素复制到ArrayList?

import java.util.ArrayList; 
public class Vector 
{ 
    ArrayList<Long> vector; 
    public Vector(long ...vector) 
    { 
     for (long value : vector) 
      this.vector.add(new Long(value)); 
    } 
} 

当我提出一个新的客体像Vector a = new Vector(4,7,8);它说

java.lang.NullPointerException

我试过Arrays.asList(array);

for (int i=0;i<vector.lenght;i++) 
    this.vector.add(vector[i]) 

和同样的错误

回答

1

您的代码几乎是正确的,因为要复制到数组列表的代码已正确编写。但是,错误是NullPointerException的事实提示我们知道某些东西不应该是空的。在这种情况下,vector本身为空,因为它从来没有被赋值。您可以声明vector,并在构造函数中使用ArrayList<Long> vector = new ArrayList<>();,分配vector = new ArrayList<>();进行分配。

注意:<>钻石速记是Java 7和更高版本中可用的泛型类型的简写。如果针对Java 6,请在右侧使用new ArrayList<Long>();

+0

谢谢我已经准备好了 – user3763927

相关问题