【发布时间】:2016-02-21 23:04:05
【问题描述】:
我已经制作了自己的 ArrayList 类的通用版本,它需要包含一个从列表中返回随机元素的方法。这是我写的方法:
public T randomElement() throws NoSuchElementException {
T elem;
int rand = (int) (1 + Math.random() * size);
elem = items[rand];
return elem;
}
我正在使用此类/方法从我的列表中选择一个随机元素(使用从 .txt 文件中获取的字符)并且我不断收到 NullPointerException 错误。我可以采取任何协议来确保不会发生这种情况吗?
【问题讨论】:
-
您在哪一行得到空指针异常?
-
items是否已初始化? -
你得到的 NPE 是什么?如果您正在讨论在调用代码中获取 NPE,因为此方法有时会返回
null,那么您可以在删除元素时压缩后备数组,就像java.util.ArrayList所做的那样。 -
是的,只有一个协议:确保
items != null。
标签: java arrays generics arraylist nullpointerexception