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
,然后做一些事情,尽管我们不确定是什么,在你的情况下,它只会抛出异常。基本上,你的首席技术人员告诉你,你应该默默地忽略发生错误的地方,传播无效的程序状态。