2016-02-01 78 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

相關問題