这是我试图使用的代码,但每当我运行它时,我都会得到一个错误,指出java.lang.NullPointerException为null并突出显示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;
}
}发布于 2014-03-03 13:06:33
private ArrayList<BinItem> myContents;您只是声明了myContents,并且从未对其进行初始化。因此它就是null。
在声明它的同时初始化它。
private List<BinItem> myContents= new ArrayList<BinItem>();或者,您可以在使用它之前执行此操作。
不初始化您的线路
myContents.add(b);
在运行时看起来像
null.add(b);https://stackoverflow.com/questions/22139037
复制相似问题