我很想知道避免 NullPointerException
的正确方法。
try
{
String name = null;
System.out.println("name=" + name.toString());
}
catch(Exception e)
{
System.out.println("Exception Occured" + e.getMessage());
}
这里我只是捕获并显示异常消息。我想知道处理这种情况或避免这种情况的正确方法。
除了捕获错误之外,如果您要处理可能为 null 的内容,您可能需要进行 null 检查。
要减少必须进行 null 检查的可能性,您可以做的是永远不要从您的方法中返回 null
,除非确实有必要,例如:
public IList<String> getUserNames()
{
//No usernames found...
return new ArrayList<String>();
//As opposed to returning null
return null;
}
通过返回空列表,对上述代码的调用将导致如下结果:for(String name : this.getUserNames()) {...}
。如果找不到用户名,则不会执行循环。
另一方面,如果您返回 null,则需要执行如下操作:
List<String> userNames = this.getUsernames();
if(userNames != null)
for(String userName : userNames) {....}