gpt4 book ai didi

java - 我可以从此例程中得到空指针异常吗?

转载 作者:行者123 更新时间:2023-12-01 22:54:23 25 4
gpt4 key购买 nike

我用Java编写了下面的例程,我需要知道代码是否为空指针安全:

public class TRM_Fields {
public static String returnActualValue(String Staffing_Event,
String CurrentValue, String PriorValue) {
String returnValue;
returnValue = null;

if ("TRM".equalsIgnoreCase(Staffing_Event) && CurrentValue == null
&& PriorValue != null && !"".equalsIgnoreCase(PriorValue)) {
returnValue = PriorValue;
} else {
returnValue = CurrentValue;
}
return returnValue;
}
}

参数 Staffing_Event、CurrentValue 和 PriorValue 中的任何一个都可以为空。

如果它不是空指针安全的,我该怎么做才能实现这一点?

最佳答案

你的方法是安全的。您正确使用"constantString".equals(someObject)以确保空安全比较。

其他一些评论:

  • 您的方法很难阅读,因为您正在使用 TitleCase对于 Java 变量,它们应该是 camelCase .

  • 您只有两个可能的返回值。所以你可以简化你的方法如下:

    public static String returnActualValue(String staffingEvent,
    String currentValue, String priorValue) {

    if ("TRM".equalsIgnoreCase(staffingEvent) && currentValue == null
    && priorValue != null && !"".equalsIgnoreCase(priorValue)) {
    return priorValue;
    } else {
    return currentValue;
    }
    }

    请注意 else构造不是必需的,因此无论您包含该结构还是简单地具有 return currentValue; 这都是风格问题.

关于java - 我可以从此例程中得到空指针异常吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24302783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com