Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何防止将空值存储为列表的一部分_Java_Lombok - Fatal编程技术网

Java 如何防止将空值存储为列表的一部分

Java 如何防止将空值存储为列表的一部分,java,lombok,Java,Lombok,如何防止空值作为列表的一部分存储。ignoreNullCollections在这里没有帮助。我希望忽略null值,即使异常作为单数方法调用的一部分传递,也不应引发任何异常 import lombok.Singular; @Singular(ignoreNullCollections = true) List<Foo> foos; import lombok.单数; @单数(ignoreNullCollections=true) 列出食物; 这与lombok想要打破的样板文件相去甚

如何防止空值作为列表的一部分存储。ignoreNullCollections在这里没有帮助。我希望忽略null值,即使异常作为单数方法调用的一部分传递,也不应引发任何异常

import lombok.Singular;

@Singular(ignoreNullCollections = true)
List<Foo> foos;
import lombok.单数;
@单数(ignoreNullCollections=true)
列出食物;

这与lombok想要打破的样板文件相去甚远,它不受支持,而且(作为核心贡献者,我想我可以这么说):可能永远不会


通常,您可以手工编写构建器的任何部分,lombok只需添加您遗漏的部分,但您不能编写
@Singular
基础结构的任何部分,因为它不直观。因此,您唯一的实际选择是创建一个构造函数,在将其分配给字段之前,将接收到的
列表中的null去掉,然后将
@Builder
放在该参数上。

这与lombok想要破坏的样板文件类型相去甚远,因此它不受支持且(作为核心贡献者,我想我可以这么说):也许永远不会


通常,您可以手工编写构建器的任何部分,lombok只需添加您遗漏的部分,但您不能编写
@Singular
基础结构的部分,因为这是不直观的。因此,您唯一的实际选择是创建一个构造函数,将收到的
列表
参数中的null去掉eve,然后将其分配给字段,然后将
@Builder
放在该字段上。

我只是一次添加一个元素,就像这样。foo(foo)而且我不想添加空值,我明白。这与常见用法相差太远,无法支持。如果添加空值,则抛出NPE-是的,这似乎合理,但一般来说,“如果为空,则不静默地执行任何操作”是一种巨大的代码味道。我们尝试不添加对boneheaded代码样式的支持。在添加前,我必须进行空检查如果没有办法,我将不得不添加它,因为空值作为列表的一部分是没有意义的,通常当代码正在做一些没有意义的事情时,你不应该“静默忽略”,你应该抛出一个异常。谁在试图将空值添加到列表中?为什么你认为我会这样做假设“他们的意思肯定是:呃,什么都不做”是恰当的吗?我只是一次添加一个元素,就像这样而且我不想添加空值,我明白。这与常见用法相差太远,无法支持。如果添加空值,则抛出NPE-是的,这似乎合理,但一般来说,“如果为空,则不静默地执行任何操作”是一种巨大的代码味道。我们尝试不添加对boneheaded代码样式的支持。在添加前,我必须进行空检查如果没有办法,我将不得不添加它,因为空值作为列表的一部分是没有意义的,通常当代码正在做一些没有意义的事情时,你不应该“静默忽略”,你应该抛出一个异常。谁在试图将空值添加到列表中?为什么你认为我会这样做假设“他们的意思肯定是:呃,什么都不做”是恰当的吗?