jjzjj

Nullable

全部标签

java - 如果在将Optional <Object>作为参数时,编译器将解析为null,那是一个好主意吗?

这显然非常有用,以至于我开始认为我缺少避免这种情况的理由,因为我确信Oracle会做到这一点。对我来说,这将是Optional上最有值(value)的功能。publicclassTestOptionals{publicstaticvoidmain(String[]args){test(null);}publicstaticvoidtest(Optionaloptional){System.out.println(optional.orElse(newDefaultObject()));}}(这将引发NullPointerException)如果没有该功能,则使用Optional作为参数

java - 将@Nullable 放在具有可为空返回类型的方法的何处?

这个问题在这里已经有了答案:IsitlegaltoputannotationafteraccessmodifierinJava7?OrJava8?(2个答案)关闭6年前。当使用javax.annotation.Nullable将方法标记为“可能返回null值”时,将@Nullable注释放在哪里?在方法上,还是在返回类型上?是否存在任何技术差异,或者这仅仅是风格问题?样式A:@NullablepublicObjectblah(){...}样式B:public@NullableObjectblah(){...}

java - Java Optional 可以用来做流控吗?

我找不到使用Java的Optional执行以下操作的方法:if(SOME_OBJECT!=null){doSomething(SOME_OBJECT);}else{doSomethingElse();}通过使用Optional,我并不是说用Optional.ofNullable(SOME_OBJECT).isPresent()替换SOME_OBJECT==null,这比简单地检查是否为null的语法要长得多。我期望的是这样的:Optional.ofNullable(SOME_OBJECT).ifPresent(this::doSomething).orElse(this::doSome

java - 获取可选对象的字段或返回 null

我有可选对象:OptionalnewestDetail;我想返回newestDetail.getId(),或者如果newestDetail为null,则返回null。我们是否有比以下更复杂的方法来做到这一点?returnnewestDetail.isPresent()?newestDetail.get().getId():null; 最佳答案 将值映射到带有id字段的Optional,如果它为空,则将其转换为null值:returnnewestDetail.map(Detail::getId).orElse(null);

java - rt.jar com.sun.istack.internal 包

jre在rt.jar中带有许多库,其中之一是com.sun.istack.internal*。我需要com.sun.istack.internal.Nullable的文档(我发现谷歌在它的CacheBuilder中使用了它),首先我想到的是去docs.oracle.com找到它的文档在那里我一无所获。接下来转到source文件夹sourcedwithjdk我没有在所述文件夹中找到com名称实体。接下来,我查看了jre7版本并查看了所有包和类,发现那里没有提及Nullable。虽然SO有一个mentionofit,但没有具体的。如果需要,我仍然不知道从哪里获得它的文档和src。我什至在o

java - 在 Java 中创建不可空类型

是否可以在Java中制作不可为空的类型?这种类型的对象不应该为空。怎么办? 最佳答案 使用某些IDE和Maven插件支持的@NotNull注释是一种相当普遍的做法。在Java8中你可以写@NotNullStringtext;@NotNullListstrings=...;这不是语言功能,但如果您需要它,它是可用的。注意:没有标准的@NotNull注释:(所以支持这个的工具允许你配置你想要的。我使用IntelliJ附带的那个。它会在编辑器中给你警告自动修复并为null参数、返回值和变量添加运行时检查。注意:IntelliJ也能够计算出

java - hibernate 映射 : one column to multiple tables

我有一个场景的“最佳实践”问题。场景:数据库中的多个实体,例如Document、BlogPost、Wiki可以由个人共享。不是为每个实体创建一个共享表,而是创建一个共享表。问题是,如何将共享表映射到不同的实体?我有三个选项,请告知哪个选项最好,如果有更好的选项。选项1:创建表共享为:SHARESid(unique)entityId(nonDBenforcedFKtoDOCUMENTS,WIKIS,POSTSetc.)entityTypesharedBysharedWithsharedDate在这里,entityId将是documentId、wikiId、postId等的外键,而enti

java - JDBC PreparedStatement 中 "null primitives"的解决方法?

这个问题在这里已经有了答案:InsertingnulltoanIntegercolumnusingJDBC(2个答案)关闭4年前。使用原始JDBC时,您可以像这样参数化PreparedStatement:PreparedStatementstatement=connection.prepareStatement(someSQLString);StringsomeString=getSomeString();Integerint=getSomeInteger();statement.setString(1,someString);statement.setLong(2,5L);state

java - @Nullable 和 SonarQube 'Conditionally executed blocks should be reachable' 警告

包有以下package-info.java:@ParametersAreNonnullByDefaultpackagefoo;importjavax.annotation.ParametersAreNonnullByDefault;类有以下方法:privatestaticStringtoIsoString(@NullableInstantdateTime){returndateTime==null?null:dateTime.toString();}SonarQube(版本6.2,SonarJava4.14.0.11784)发出以下警告(鱿鱼:S2583):我怎样才能让SonarQub

java - 空对象设计模式与空对象检查

为什么空对象设计模式优于空对象检查。如果我们查看空对象设计模式中的内存占用,我们会创建一个新的相同类型的虚拟对象。这表明如果我们在搜索查询中有大尺寸的对象和大量可为空的对象,这种模式将创建那么多的空对象,这将比简单的检查占用更多的内存,对于null,我的成本可以忽略不计的性能延迟。NullObjectdesignpattern 最佳答案 null的全部问题在于,如果您尝试访问null值,应用程序将抛出NullPointerException并中止。要减少此空对象设计模式(它实际上只是工厂设计模式,而不是模式本身)中类NullXXX的