相关疑难解决方法(0)

功能界面,什么都不带,什么都不返回

JDK中是否有标准的功能接口,什么都不带,什么都不返回?我找不到一个.类似于以下内容:

@FunctionalInterface
interface Action {
  void execute();
}
Run Code Online (Sandbox Code Playgroud)

java function java-8

123
推荐指数
1
解决办法
5万
查看次数

是否存在可用于任何lambda的无操作(NOP)的方法参考?

这可能听起来像一个奇怪的问题,但有没有办法在Java 8中引用Lambda的标准无操作(即null操作,空模式方法,无操作,无操作方法)方法.

目前,我有一个方法,需要一个,比方说,void foo(Consumer<Object>)我想给它一个无操作,我必须声明:

foo(new Consumer<Object>() { 
  public void accept(Object o) { 
    // do nothing 
  }
}
Run Code Online (Sandbox Code Playgroud)

在哪里我希望能够做到这样的事情:

foo(Object::null)
Run Code Online (Sandbox Code Playgroud)

代替.有类似存在吗?

不确定多参数方法如何工作 - 也许这是Java中lambdas的缺陷.

java lambda functional-programming java-8

58
推荐指数
6
解决办法
3万
查看次数

在Java> = 8中没有args且没有返回类型(void)的"Function"

我可以自己定义,例如:

@FunctionalInterface
interface EmptyEmptyFunction {
    void apply();
}
Run Code Online (Sandbox Code Playgroud)

然后按如下方式使用它:

    EmptyEmptyFunction m = () -> {System.out.println("Hello World - Java 8!");};
    m.apply();
Run Code Online (Sandbox Code Playgroud)

我的问题是:JDK中是否有内置类型
EmptyEmptyFunction,或者我必须自己定义EmptyEmptyFunction
(就像我已经做过的那样)?

这里有许多功能接口

http://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html

但我似乎找不到一个
与我的"签名" 完全相同的人EmptyEmptyFunction.

java java-8

9
推荐指数
0
解决办法
1140
查看次数

标签 统计

java ×3

java-8 ×3

function ×1

functional-programming ×1

lambda ×1