java - 如何将 lambda 表达式更改为方法引用

标签 java lambda method-reference

我需要有关将 lambda 表达式更改为方法引用的帮助:

lambda 表达式:

intervalCodes.stream().forEach(code -> {
            modProfile.addIntervalUsageCode(createIntervalCode(code));
          });

我可以将上面的表达式更改为这样:

intervalCodes.stream().forEach(modProfile::addIntervalUsageCode(createIntervalCode));

请问有什么建议吗?

最佳答案

假设createIntervalCode()是一个无副作用的实例方法,您可以将 lambda 拆分为两个方法引用:

intervalCodes.stream()
        .map(this::createIntervalCode)
        .forEach(modProfile::addIntervalUsageCode);

如果是静态方法,则使用ClassName::createIntervalCode .

关于java - 如何将 lambda 表达式更改为方法引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43133827/

相关文章:

java - Bicycle[]::new 的等价物是什么

java - 为什么 Comparator.comparing 不适用于 String::toLowerCase 方法引用?

java - 验证每个 Rest API 请求的访问 token 的最佳方式

java - 开关不执行

java - 使用 lambda 将 Map 格式化为 String

c++ - 线程安全和 std::move

java - 使用带参数的方法引用

java - WebDriver 在 Firefox 中禁用 SEC_ERROR_UNKNOWN_ISSUER

java - Bndtools:准备运行时环境时出现问题

C# List<T> lambda 查找然后修改元素