在网站和谷歌上搜索,似乎没有任何内容可以解决我确信是一个 super 简单的问题。
所以我有一个这样声明的列表:
private List<Integer> mList;
当我尝试在其上执行类似 mList.add(...);
的方法时,它不起作用,返回空指针异常。我试着像这样实例化列表:
public Class() {
mList = new List<Integer>();
但这也是不正确的,至少根据我的 IDE Eclipse。当我四处搜索时,我似乎无法正确地说出问题,因为就这么简单,如果不把它变成 ArrayList 或其他我不想做的事情,就没有什么能真正显示出我想做什么。感谢您提出这个简单的问题。
最佳答案
变量在使用前必须先初始化。否则它为 null,您会得到 NullPointerExceptions。
Java 有接口(interface),就像只定义了方法的类。但是,您不能从中创建真实对象。它们只是用于定义契约。
java.util.List就是这样一个接口(interface)。
您必须使用实现该接口(interface)的真实类
例如
private List<Integer> mList = new ArrayList<Integer>();
java.util.ArrayList 是 List 的一个实现,这将如您所愿。
关于java - 我的 Java 列表显示为空,实例化它似乎不起作用...帮助?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6233772/