【发布时间】:2014-08-12 09:36:02
【问题描述】:
我试图避免来自布尔值的 NullPointerException。我认为下面的代码可以工作,但事实并非如此。
if(Boolean.TRUE.equals(shareConnection.getConnection())){ // This could be null, True or False
}
有什么想法吗?我不想实现 try catch 语句,因为这已经在 catch 中了。
编辑
public class ShareConnection{
public boolean getConnection() {
return connection;
}
}
【问题讨论】:
-
-3 ??投票者,您至少有任何答案或评论吗?
-
shareConnection是如何初始化的? -
你错了。
if(Boolean.TRUE.equals(null)){ }不会导致 NPE。如果需要,请在此处查看:ideone.com/l2BbJu -
检查 NPE 的 shareConnection。
-
在您的编辑中,您使用了原始布尔值,它永远不能为空。它的默认值为“假”。您可以只执行 if(shareConnection.getConnection()) {...} 而不将其与 Boolean.TRUE 进行比较。如果您仍然有 NPE,则可能是相关代码中的其他地方引起的。
标签: java android exception nullpointerexception