0

我在 2 个不同的环境中运行以下代码。第一个环境是 Eclipse 中的开发环境,Java 7 使用 Java 6 合规性来运行我的 webapp。另一个是我运行 Java 6 的开发服务器。以下代码在开发服务器上抛出 NullPointerException,但在我的开发环境中没有。有人可以解释为什么会这样吗?

List<String> list = null;
for(String s : list)
{
// do something
}
4

3 回答 3

3

编写的代码每次都会抛出异常。确保代码在您的开发环境中正确编译。如果它运行成功,它正在运行不同版本的代码(可能是不抛出 NullPointerException 的旧版本的类)。

于 2012-04-16T19:39:43.570 回答
1

这将始终引发异常。更有可能的是,某些东西在一个环境中失败并且值为 null,而在另一个不为 null 的环境中没有失败。

于 2012-04-16T19:35:28.773 回答
0

你在开玩笑吗?每次保证都会爆炸。

如果它“在其他地方运行时没有爆炸”,我保证您没有运行此代码。

于 2012-04-16T19:36:00.883 回答