这听起来可能是一个奇怪的问题,但是有没有办法在Java8中为Lambda引用标准的无操作(又名空操作、空模式方法、无操作、无操作方法)方法。
目前,我有一个方法,比如说,采用void foo(消费者
foo(new Consumer<Object>() {
public void accept(Object o) {
// do nothing
}
}
我希望能够做这样的事情:
foo(Object::null)
相反有类似的东西存在吗?
不确定多参数方法如何工作——也许这是Java中lambdas的一个缺陷。
Function.identity()
能满足您的需求吗?
返回始终返回其输入参数的函数。
在您的特定情况下,您可以简单地执行以下操作:
foo(i -> {});
这意味着lambda表达式接收一个参数,但没有返回值。
双消费者的等价码
void bifoo(BiConsumer<Object, Object> consumer) { ... }
bifoo((a, b) -> {});
这不是不足。
Java中的lambda是功能接口的实例;反过来,它们被抽象为Java构造的实例,可以简化为一个抽象方法或SAM。
但这个SAM仍然需要一个有效的原型。在您的情况下,您希望有一个无操作消费者
它仍然需要是消费者
private static final Consumer<Object> NOOP = whatever -> {};
并在需要的地方使用NOOP
。
我最近开始做一个POC来集成java Web应用程序和Dropbox。我发现尽管有一个用于Java的dropbox-core-sdk。但是由于某些原因,dropbox没有为java提供同步库(同步库仅适用于Android/iOS)。 1)我们可以在java Web应用程序中使用android同步api吗?
我们都知道,有时候cloudflare喜欢检查他们的客户访问者,以确保访问者不是真正的人。安全检查要求我们通过谷歌recaptcha。我想问的是,是否有可能通过使用我们自己的服务器(即使与远程服务器和回答验证码由我们自己等),以及如何?
> 拖放Selenium (选项1) 选项2 行为单击并按住(源)。暂停(2000年)。移动到元素(目标)。释放()。build()。执行(); 我尝试过这两种选择,我正在开发Selenium 3,有没有其他方法可以实现它。 注:不建议使用机器人类
问题内容: 我正在编写一个Java程序,用于从POP3电子邮件中下载附件。最初,我通过获取MimePart的内容类型得到验证的输入流来执行此操作。然后,我可以简单地通过FileOutputStream将输入流写入本地文件。 但是,我遇到的一件事是,当我收到一封带有附件的电子邮件作为唯一内容并访问它之后,该邮件(消息类型)仅由一个部分组成,即文本/普通类型。其内容包括大量随机外观的字符。 通过互联网
问题内容: 编辑:我改变了一些例子,以获得想法: 喜欢 …而无需创建公共接口并为Integer和Float创建子类来实现它 如果没有,类似这样的东西可能会更有意义并且有用 如果呢?是一个通配符,为什么我们不应该限制某些类型? 问题答案: 在非常极端的情况下(没有的Java 7之前的版本),我也希望能够做到这一点。例如 不管实际的类型是什么,这都允许我打电话。换句话说,将包含所有提供的类型的“ AP
问题内容: 例如: 要么 这些名称或破折号有问题吗? 问题答案: 老实说,这取决于个人开发人员和他们自己的感受。就像您建议的那样,有两种同样好的构造CSS类的方法: 它们可以达到相同的目的,但是当您开始广泛思考时,您会发现这些样式之间的差距有多大。 分离班使他们可以重复使用: 该干的惯例是从不重复自己。通过分离or类,我们可以 重用 相同的类: 在第二种方法中-使用分隔符,代码将是: 在像这样的简