java - validateOrThrow 实现

标签 java functional-programming

我想以功能性的方式实现这样的目标。有什么帮助吗?

public static Function<String[],Void> validateLength3 = (String[] input) -> {
   if(input.length != 3) 
       throw new Exception("length not equals 3");
}

如果数组 length == 3,我希望它不会返回任何内容。

Else 抛出异常

最佳答案

您的代码有两个问题:

  1. Functionapply()方法需要一个返回值。
  2. Functionapply()方法不能抛出已检查的异常。

您可以使用 Consumer<String>抛出 RuntimeException相反:

public static Consumer<String[]> validateLength3 =
    (String[] input) -> { if(input.length != 3) throw new RuntimeException("length not equals 3");};

关于java - validateOrThrow 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56538204/

相关文章:

Java Webstart 报告错误的 Bootloader 选项

Java ArrayList包含方法

java - WebDriver 所需的功能

haskell - 在 Haskell 中,为什么在如下函数之前使用 Eq a => [a] 很重要?

java - 如何通过java中的mouselisteners获取2D数组(jlabel)的索引?

java - 将用户的 OAuth2 token 放入 RestTemplate 中

lambda - Simply Scheme 第 09 章。Lambda。还有更多的 Lambda 练习吗?

java - 函数式接口(interface) + 数组中整数总和的 lambda 表达式

functional-programming - ngrx/effects 是单子(monad)吗?

swift - swift 中的 curry 函数语法