当前位置: 首页 > 面试题库 >

是否有JDK或Guava方法将null转换为空列表?

龚凯泽
2023-03-14
问题内容

JDK或Google Guava中是否有类似这种方法

public static <T> Collection<T> safe(Collection<T> collection) {
    if (collection == null) {
        return new ArrayList<>(0);
    } else {
        return collection;
    }
}

例如,如果某些东西返回空列表,这很容易在增强循环中不崩溃

for (String string : CollectionUtils.safe(foo.canReturnANullListOfStrings())) {
    // do something
}

不会崩溃。

我环顾四周,却找不到任何这样的方法,我想知道我是否错过了它,或者是否有这样的原因导致这种方便的方法不方便使用,因此不包括在内?


问题答案:

Objects.firstNonNull(list, ImmutableList. of());

不需要专门的方法,实际上,这是我们建议的解决方案,建议您从顽皮的API中获取可能为空的集合时立即使用,理想情况下最好不要这样做。



 类似资料:
  • 我正在运行db查询,并得到以下Json格式的输出。有没有办法将下面的Json输出转换成空手道格式的.csv文件(csv格式),或者我们需要编写java实用工具来完成这件事 如果karate内置了将json转换为csv文件功能,请告诉我

  • 问题内容: 我在Java方面苦苦挣扎,但无法将Java .wav转换为.mp3转换器的有效示例。该转换器将在Java applet中使用,因此它应仅依赖以纯Java编写的库,而无需底层C代码调用。 谁能提供一个完整的示例? 谢谢 问题答案: 阅读您的wave文件@ http://java.sun.com/javase/technologies/desktop/media/jmf/ 并编码为mp3

  • 因此,我想知道是否有一个利索的方法来做这件事,除了

  • 问题内容: 我知道,当我阅读答案时,会发现我已经忽略了我眼中的事物。但是我花了最后30分钟试图自己弄清楚,但没有结果。 因此,我正在用Java 6编写程序,并发现了一些(对我而言)奇怪的功能。为了尝试隔离它,我举了两个小例子。我首先尝试了以下方法: 编译器拒绝了它:类型不匹配:无法从null转换为int。 这对我来说很好,并且尊重我熟悉的Java语义。然后我尝试了以下方法: 编译没有错误!但是,我

  • 获取错误。我尝试做多个选择,并更改第二个选择的数据与第一个选择的上更改材料表行。我正在使用Firebase。 当“store.Urunler”为null或未定义时,我会出现此错误。而且我的产品没有列在菜单项上,这意味着选择是空的,但state.products有数据 我怎样才能克服这个错误。我还想添加到Urunler,选择一个输入。我知道我应该为onChanges调用函数,但如果它起作用,我以后会

  • 在下面的代码中,我需要检查版本字符串是否为空,然后将其值附加到请求变量。 如何检查不在if条件下?