草庐IT

nullable

全部标签

java - 从 Nullable 对象创建 Stream 的惯用方法

在生成流之前执行null-check的最佳/惯用方法是什么?我有一个方法接收可能是null的List。所以我不能只对传递的值调用stream()。如果值为空,是否有一些静态助手会给我一个空流? 最佳答案 我同意StuartMarks那list==null?Stream.empty():list.stream()是正确的方法(参见hisanswer),或者至少是在Java9之前执行此操作的正确方法(参见下面的编辑),但我会留下这个答案来演示可选API的用法。StreamgetStream(Listlist){returnOptiona

java - 从 Nullable 对象创建 Stream 的惯用方法

在生成流之前执行null-check的最佳/惯用方法是什么?我有一个方法接收可能是null的List。所以我不能只对传递的值调用stream()。如果值为空,是否有一些静态助手会给我一个空流? 最佳答案 我同意StuartMarks那list==null?Stream.empty():list.stream()是正确的方法(参见hisanswer),或者至少是在Java9之前执行此操作的正确方法(参见下面的编辑),但我会留下这个答案来演示可选API的用法。StreamgetStream(Listlist){returnOptiona

java - Google Guava Function 界面中的@Nullable 输入触发 FindBugs 警告

com.google.common.base.Function接口(interface)(来自GoogleGuava)将apply定义为:@NullableT应用(@NullableF输入);该方法有以下javadoc注释:@throwsNullPointerException如果{@codeinput}为null并且此函数不接受null参数。FindBugs提示我的Function实现:privatestaticfinalclassExampleimplementsFunction{@Override@NullablepublicStringapply(@NullableMyBean

java - Google Guava Function 界面中的@Nullable 输入触发 FindBugs 警告

com.google.common.base.Function接口(interface)(来自GoogleGuava)将apply定义为:@NullableT应用(@NullableF输入);该方法有以下javadoc注释:@throwsNullPointerException如果{@codeinput}为null并且此函数不接受null参数。FindBugs提示我的Function实现:privatestaticfinalclassExampleimplementsFunction{@Override@NullablepublicStringapply(@NullableMyBean

javax.annotation : @Nullable vs @CheckForNull

两者有什么区别?两者似乎都意味着该值可能为空,应进行相应处理,即检查是否为空。更新:上面的两个注释是JSR-305/FindBugs的一部分:http://findbugs.sourceforge.net/manual/annotations.html 最佳答案 我认为您添加的链接很清楚:如果您使用@CheckForNull并且使用该值的代码不检查null,FindBugs将显示这是一个错误。FindBugs将忽略@Nullable。Inpracticethisannotationisusefulonlyforoverridinga

javax.annotation : @Nullable vs @CheckForNull

两者有什么区别?两者似乎都意味着该值可能为空,应进行相应处理,即检查是否为空。更新:上面的两个注释是JSR-305/FindBugs的一部分:http://findbugs.sourceforge.net/manual/annotations.html 最佳答案 我认为您添加的链接很清楚:如果您使用@CheckForNull并且使用该值的代码不检查null,FindBugs将显示这是一个错误。FindBugs将忽略@Nullable。Inpracticethisannotationisusefulonlyforoverridinga

java - 如何检查多个对象的无效性?

通常,我可以看到如下代码结构:if(a==null||b==null||c==null){//...}我想知道是否有任何广泛使用的库(Google、Apache等)可以同时检查多个对象的无效性,例如:if(anyIsNull(a,b,c)){//...}或if(allAreNulls(a,b,c)){//...}更新:我完全知道如何自己写我知道这可能是程序结构不佳的结果,但这里不是这种情况让我们让它更具挑战性,并将原来的示例替换为如下内容:if(a!=null&&a.getFoo()!=null&&a.getFoo().getBar()!=null){//...}更新2:我已经为Apa

java - 如何检查多个对象的无效性?

通常,我可以看到如下代码结构:if(a==null||b==null||c==null){//...}我想知道是否有任何广泛使用的库(Google、Apache等)可以同时检查多个对象的无效性,例如:if(anyIsNull(a,b,c)){//...}或if(allAreNulls(a,b,c)){//...}更新:我完全知道如何自己写我知道这可能是程序结构不佳的结果,但这里不是这种情况让我们让它更具挑战性,并将原来的示例替换为如下内容:if(a!=null&&a.getFoo()!=null&&a.getFoo().getBar()!=null){//...}更新2:我已经为Apa

java - @ManyToOne(optional=false) 与 @Column(nullable=false) 有什么区别

在JPA中,我对何时使用属性optional=false和注释@Column(nullable=false)感到困惑。有什么区别? 最佳答案 @Column(nullable=false)是用于生成模式的指令。类生成的数据库列在实际数据库中将被标记为不可为空。optional=false是运行时指令。它所做的主要功能与延迟加载有关。除非您记得设置optional=false,否则您不能延迟加载非集合映射实体(因为Hibernate不知道那里是否应该有代理或null,除非您告诉它null是不可能的,所以它可以生成代理。)

java - @ManyToOne(optional=false) 与 @Column(nullable=false) 有什么区别

在JPA中,我对何时使用属性optional=false和注释@Column(nullable=false)感到困惑。有什么区别? 最佳答案 @Column(nullable=false)是用于生成模式的指令。类生成的数据库列在实际数据库中将被标记为不可为空。optional=false是运行时指令。它所做的主要功能与延迟加载有关。除非您记得设置optional=false,否则您不能延迟加载非集合映射实体(因为Hibernate不知道那里是否应该有代理或null,除非您告诉它null是不可能的,所以它可以生成代理。)