java - 从 Java 8 中的方法返回 Lambda?

标签 java lambda java-8

我刚开始使用Java 8,想知道是否有办法编写返回Function的方法?

现在我有如下方法:

Function<Integer, String> getMyFunction() {
  return new Function<Integer, String>() {
    @Override public String apply(Integer integer) {
      return "Hello, world!"
    }
  } 
}

有没有办法在 Java 8 中写得更简洁?我希望这会奏效,但它没有:

Function<Integer, String> getMyFunction() {
  return (it) -> { return "Hello, world: " + it } 
}

最佳答案

去掉函数定义中的 return 语句:

Function<Integer, String> getMyFunction() {
    return (it) -> "Hello, world: " + it;
}

关于java - 从 Java 8 中的方法返回 Lambda?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26771953/

相关文章:

Java - 用鼠标更改 JPanel 图像

java - 在循环中间创建一个新的开始

c# - 使用 C# lambda.. 对 n 个数字进行阶乘?

c++ - Lambda 和 std::function

java - 是否需要在 Streams 中使用 orElse(null)?

java - GUI netbeans 中的全局变量

java - 在将输入字符串解析为 double 时保留其格式

java 8方法引用,允许不兼容的返回类型

java - 如何很好地相交从两张 map 构建的两组?

java - 可以显式删除对 lambda 的序列化支持