gpt4 book ai didi

java - 处理库方法抛出的 Null 吗?

转载 作者:行者123 更新时间:2023-12-02 09:13:53 24 4
gpt4 key购买 nike

我有下面的代码,我试图处理抛出的空指针,但即使它是空的,我仍然收到空错误。

LibraryMethod.getValue 为 null 时,如何最有效地处理空指针并返回空字符串?

private static String createValue(NodeList userAttributes) {

if(null != LibraryMethod.getValue(LibraryMethod.getNode(userAttributes, USER_NAMES).get())){
return LibraryMethod.getValue(LibraryMethod.getNode(userAttributes, USER_NAMES).get());
}

return EMPTY_STRING;
}

最佳答案

解决此类问题的模式有很多种。

  1. 公开 get(xyz) 方法的库还可以公开 has(xyz) 方法:

    if (lib.has(xyz)) {
    return lib.get(xyz);
    }

    return 0;
  2. 公开 get(xyz) 的库也可以公开 get(xyz, defaultval):

    return lib.get(xyz, 0);
  3. 某些编程语言支持可选的链接语法,例如:

    return user?.address?.street;
  4. 使用某种异常接口(interface),例如:

    try {
    result = lib.get(xyz);
    } catch (NoSuchKeyException e) {
    result = 0;
    }

与选项 #3 相关,Java 有一个概念 Optional ,您可能想查看。

关于java - 处理库方法抛出的 Null 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59162472/

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