【发布时间】:2013-05-19 18:40:07
【问题描述】:
我是 Java 初学者,我对 null 有一些问题。我需要帮助来理解以下问题。我已经正确回答了他们,但我不知道他们背后的确切原因。
问题:
假设轨道已被声明为 ArrayList 类型并考虑以下情况:
public Track mostPlayed() {
Track most = tracks.get(0);
int i = 1;
while(i < tracks.size()) {
Track t = tracks.get(i);
if (t.getPlayCount() > most.getPlayCount()) {
most = t;
}
i++;
}
return most;
}
假设在执行mostPlayed 方法期间抛出了NullPointerException。假设单线程执行,由于此异常,只有以下代码行之一是可能的。哪一个?
我选择了第 2 行,因为它似乎是唯一合乎逻辑的答案,但由于我不完全理解这个概念,所以我想进一步解释它。
【问题讨论】:
-
请不要在您的复制数据中包含行号,并使用代码按钮格式化您的代码。我编辑了你的问题
-
Ontopic:如果有异常,异常信息中会有行号。
-
您好,对不起,我是该网站的新手。感谢您的编辑。
-
这就是为什么我在每一行都写了数字,这样问题就更容易理解了。基本上我选择的正确答案是 Track most = tracking.get(0);不完全确定为什么
-
@fge: 第一首曲目之前没有被拍过两行,所以tracks.get(i) 是正确的方法。
标签: java exception null nullpointerexception