【发布时间】:2017-07-22 02:01:59
【问题描述】:
我一直在尝试解决这个 NullPointerException 问题:
Exception in thread "main" java.lang.NullPointerException
at LinearSearcher.<init>(LinearSearcher.java:12)
at DemoSearches.main(DemoSearches.java:4)
通过研究,我发现当你声明一个引用类型但没有创建一个对象时会发生这个异常。在我的情况下,当我试图声明 LinearSearcher
我试图用我的代码来理解这一点,但我遇到了困难
LinearSearcher 的代码:
public class LinearSearcher implements Searcher {
private int[] numbers;
public LinearSearcher() {
numbers[0] = 1; // Line 12 Here
numbers[1] = 10;
numbers[2] = 20;
numbers[3] = 30;
numbers[4] = 40;
numbers[5] = 50;
numbers[6] = 60;
numbers[7] = 70;
numbers[8] = 80;
numbers[9] = 90;
}
public int searchFor(int key) {
for (int i = 0; i < numbers.length; i++){
if (numbers[i] == key) {
return i;
}
}
return NOT_FOUND;
}
public void display() {
for (int i = 0; i < numbers.length; i++){
}
}
}
声明LinearSearcher的类:
public class DemoSearches {
public static void main(String args[]) {
LinearSearcher search = new LinearSearcher(); // Line 4 Here
search.display();
search.searchFor(50);
search.searchFor(100);
}
}
【问题讨论】:
-
假设
private int[] numbers未初始化。
标签: java arrays object nullpointerexception declaration