这是我正在尝试使用的代码,但无论何时运行它,我都会收到一条错误,指出java.lang.NullPointerException 空值 并突出显示myContents.add(b);
import java.util.*;
public class Bin
{
private String myName;
private ArrayList<BinItem> myContents;
public Bin( String name )
{
myName = name;
}
public String getName()
{
return myName;
}
public ArrayList<BinItem> getContents()
{
return myContents;
}
public void add( BinItem b )
{
myContents.add(b);
}
public String toString()
{
String s = "Bin " + myName + ":\n";
for ( BinItem b : myContents )
s += b + "\n";
return s;
}
}
答案 0 :(得分:0)
private ArrayList<BinItem> myContents;
您刚刚声明myContents
并且从未初始化它。因此它是null
。
在声明时初始化它。
private List<BinItem> myContents= new ArrayList<BinItem>();
或者你可以在使用它之前完成它。
没有初始化你的行
myContents.add(b);
在运行时看起来像
null.add(b);