我在2个不同的环境中运行以下代码。第一个环境是Eclipse中的开发环境,Java 7使用Java 6合规性来运行我的webapp。其他是我的运行Java 6的开发服务器。下面的代码在开发服务器上抛出NullPointerException,但在我的开发环境中没有。有人可以解释为什么会这样吗?
List<String> list = null;
for(String s : list)
{
// do something
}
答案 0 :(得分:3)
编写的代码每次都会抛出一个异常。确保代码在开发环境中正确编译。如果它成功运行,它将运行不同版本的代码(可能是不会抛出NullPointerException的类的旧版本)。
答案 1 :(得分:1)
这将始终抛出异常。更有可能的是,某个环境中的某些内容失败,并且该值为null,并且在其不为null的其他环境中不会失败。
答案 2 :(得分:0)
你在开玩笑吧?每次保证都会爆炸。
如果“在其他地方运行时没有爆炸”,我保证您没有运行此代码。