java我们应该将null添加到列表集合中。singletonlist还是将整个列表设为空?
在我的示例中,我确实对将null添加到列表有疑问,我将使用Collections.singletonList(value)
假设我有这样的东西:
String value = null;
List<String> test = Collections.singletonList(value);
在本例中,我将得到包含null的单例列表。所以我们有一个列表对象,它包装了一个空值
所以我的问题是关于对value
变量添加检查
String value = null;
List<String> test;
if(value == null){
test = null;
}
else{
test = Collections.singletonList(value);
}
值得去做吗
# 1 楼答案
使用带有单个
null
的列表来表示没有可返回的值是非常罕见的,这会让人们感到惊讶。当您想要指示没有结果(并且返回集合类型)时,最常见的模式是返回空集合。返回null将不太常见,但仍然不完全令人惊讶# 2 楼答案
如果不知道要添加的值是否为null,可以定义如下选项列表:
List<Optional<String>> test
,使用Optional.ofNullable(value)
添加项目,然后从列表中读取时仅检查值是否为null