Java 当我';我正在访问一个永远不会返回null的方法。访问时是否需要进行空检查?
比如说Java 当我';我正在访问一个永远不会返回null的方法。访问时是否需要进行空检查?,java,nullpointerexception,Java,Nullpointerexception,比如说 public static void mapValues() { if(getName("Wilson") != null) { String name = getName("Wilson"); } // Or just String name = getName("Wilson"); } private static String getName(String name) { String returnValue =
public static void mapValues()
{
if(getName("Wilson") != null)
{
String name = getName("Wilson");
}
// Or just
String name = getName("Wilson");
}
private static String getName(String name) {
String returnValue = " "; // Setting default returnvalue as empty
if(name.equals("Wilson"))
{
returnValue = name;
}
return returnValue;
}
我知道没有必要进行空检查,但我的技术负责人说,即使没有必要进行空检查,也不会对你造成伤害。我如何让他理解这不好?代码库是否有使用
@Nullable
指示可以返回null的方法的策略?一个选项是将returnValue的默认值设置为null“即使必要,也可以进行null检查”我想你的意思是不必要的。和“将默认返回值设置为空”
”这不是空字符串。如果getName
返回null
,您将怎么做?使用空的字符串
?名字在哪里?如果它放在一个表格或其他东西中,用户可以看到它怎么办?现在你的程序仍然有一个bug,但是你不知道它,直到某个地方有人看到name单元格是空的并告诉你。不同之处在于,现在您不知道问题的实际原因,并且可能存在于任何地方。是的,但假设由于某些错误,getName
的实现确实返回了null
,可能是因为该方法中存在错误。你的首席技术人员检查null
,然后做一些事情,尽管我们不确定是什么,在你的情况下,它只会抛出异常。基本上,你的首席技术人员告诉你,你应该默默地忽略发生错误的地方,传播无效的程序状态。