草庐IT

java - 可选 vs 抛出异常

Java1.8返回Optional对象是否比抛出异常更可取?我越来越多地看到这样的代码:publicOptionalget(inti){//dosomtethingObjectresult=...Optional.ofNullable(result);}而不是这个:publicObjectget(inti){if(i=size){thrownewIndexOutOfBoundsException("Index:"+i+".Size:"+size);}//dosomtethingObjectresult=...returnresult;}这是否意味着我们需要忘记旧方法并使用新方法?Opt

java - 可选 vs 抛出异常

Java1.8返回Optional对象是否比抛出异常更可取?我越来越多地看到这样的代码:publicOptionalget(inti){//dosomtethingObjectresult=...Optional.ofNullable(result);}而不是这个:publicObjectget(inti){if(i=size){thrownewIndexOutOfBoundsException("Index:"+i+".Size:"+size);}//dosomtethingObjectresult=...returnresult;}这是否意味着我们需要忘记旧方法并使用新方法?Opt

java - 从 Guava 到 Java 的可选转换

如何在不使用任何if语句的情况下将GuavaOptional转换为JavaOptional?if(maybeSomething.isPresent()){returnjava.util.Optional.of(maybeSomething.get())}else{returnjava.util.Optional.empty()} 最佳答案 使用Guava变换maybeSomething.transform(java.util.Optional::of).or(java.util.Optional.empty());

java - 从 Guava 到 Java 的可选转换

如何在不使用任何if语句的情况下将GuavaOptional转换为JavaOptional?if(maybeSomething.isPresent()){returnjava.util.Optional.of(maybeSomething.get())}else{returnjava.util.Optional.empty()} 最佳答案 使用Guava变换maybeSomething.transform(java.util.Optional::of).or(java.util.Optional.empty());

java - Java 接口(interface)中的可选方法

我有一个包含多个方法定义的接口(interface),我不希望需要其中的一些。这可能吗?如果是这样,我该如何实现?我尝试设置@Optional的注释,但这似乎不起作用。我必须在某处定义Optional注释吗? 最佳答案 Java中没有@Optional注释。您可以做的一件事是创建一个接口(interface),然后创建一个提供stub实现的抽象类。然后,您的类可以扩展此基类并覆盖他们感兴趣的方法。 关于java-Java接口(interface)中的可选方法,我们在StackOverfl

java - Java 接口(interface)中的可选方法

我有一个包含多个方法定义的接口(interface),我不希望需要其中的一些。这可能吗?如果是这样,我该如何实现?我尝试设置@Optional的注释,但这似乎不起作用。我必须在某处定义Optional注释吗? 最佳答案 Java中没有@Optional注释。您可以做的一件事是创建一个接口(interface),然后创建一个提供stub实现的抽象类。然后,您的类可以扩展此基类并覆盖他们感兴趣的方法。 关于java-Java接口(interface)中的可选方法,我们在StackOverfl

Java 8 可选 : ifPresent return object orElseThrow exception

我正在尝试做这样的事情:privateStringgetStringIfObjectIsPresent(Optionalobject){object.ifPresent(()->{Stringresult="result";//somelogicwithresultandreturnitreturnresult;}).orElseThrow(MyCustomException::new);}这行不通,因为ifPresent将Consumer功能接口(interface)作为参数,它有voidaccept(Tt)。它不能返回任何值。还有其他方法吗? 最佳答案

Java 8 可选 : ifPresent return object orElseThrow exception

我正在尝试做这样的事情:privateStringgetStringIfObjectIsPresent(Optionalobject){object.ifPresent(()->{Stringresult="result";//somelogicwithresultandreturnitreturnresult;}).orElseThrow(MyCustomException::new);}这行不通,因为ifPresent将Consumer功能接口(interface)作为参数,它有voidaccept(Tt)。它不能返回任何值。还有其他方法吗? 最佳答案

java - Hibernate中带有命名查询的可选参数?

在使用Hibernate时,有什么方法可以在命名查询中指定可选参数(例如,当搜索参数是从表单提供时,并非所有参数都是必需的)?我正在使用nativeSQL查询,但该问题可能适用于命名HQL查询也是如此。我很确定这个问题的答案是否定的,但我还没有在文档中找到明确的答案。 最佳答案 正如前面提到的differentanswer的question中所提到的,以下HQL构造适用于我:selectofromProductoWHERE:valueisnulloro.category=:value如果:value作为null传入,则返回所有产品。

java - Hibernate中带有命名查询的可选参数?

在使用Hibernate时,有什么方法可以在命名查询中指定可选参数(例如,当搜索参数是从表单提供时,并非所有参数都是必需的)?我正在使用nativeSQL查询,但该问题可能适用于命名HQL查询也是如此。我很确定这个问题的答案是否定的,但我还没有在文档中找到明确的答案。 最佳答案 正如前面提到的differentanswer的question中所提到的,以下HQL构造适用于我:selectofromProductoWHERE:valueisnulloro.category=:value如果:value作为null传入,则返回所有产品。