搜索网站周围和谷歌似乎没有任何东西,因为我确信这是一个超级简单的问题.
所以我有一个列表,我声明如下:
private List<Integer> mList;
Run Code Online (Sandbox Code Playgroud)
当我尝试对它执行方法时,它mList.add(...);不起作用,返回空指针异常.我尝试像这样实例化List:
public Class() {
mList = new List<Integer>();
Run Code Online (Sandbox Code Playgroud)
但这也是不正确的,至少根据我的IDE Eclipse.当我搜索时,我似乎无法正确解决问题,因为尽管这很简单,但没有真正显示我想要做的事情而不使其成为ArrayList或其他我不想做的事情.感谢您提出这个简单的问题.
必须先初始化变量才能使用它.否则它为null并且您获得NullPointerExceptions.
Java具有接口,类似于仅定义了方法的类.但是,您无法从它们创建真实对象.他们只是用来定义合同.
java.util.List就是这样一个接口.
您必须使用实现该接口的真实类
例如
private List<Integer> mList = new ArrayList<Integer>();
Run Code Online (Sandbox Code Playgroud)
java.util.ArrayList是List的一个实现,这将按预期执行.