java - 如何在 Optional.map() 中使用方法引用

标签 java methods java-8 reference option-type

我有一个可选的。

Optional<AssetEvent> latestEvent = ...

如果存在,我想将事件内部的字段添加到列表。

latestEvent.map(event -> event.getTimestamp()).ifPresent(latestList::add);

我的 IDE (Intellij) 在 event.getTimestamp() 上向我显示“Lambda 可以用方法引用替换”

重构为

latestEvent.map(this::getTimestamp).ifPresent(latestList::add);

给我一个错误,因为 this 将在执行代码时引用周围的对象。如何在 Optional latestEvent

中引用 Object 的方法

最佳答案

使用类名。例如:

latestEvent.map(AssetEvent::getTimestamp).ifPresent(latestList::add);

假设 AssetEvent 是具有 getTimestamp 方法的类的名称。

关于java - 如何在 Optional.map() 中使用方法引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53651158/

相关文章:

java - 基于包含 MappedSuperclass 的元模型的 JPA EntityGraph 不可能吗?

java - 使用文件资源管理器将文件导入 android

c# - 为什么我必须在不需要时使用关键字 static?

java - Java 如何确定通过隐式类型调用调用什么方法?

Java 8 添加元素的方式

Java 8 将函数应用于 Stream 的所有元素而不破坏流链

java - Autowiring 在 Junit 测试和 spring @configuration 中失败

java - Java Swing HTML 解析器能否解析 HTML 文档中包含的任何类型的标记语言或仅解析 HTML?

python - 什么时候在django中调用模型方法

java - JDialog 没有出现