首页 > 解决方案 > 在 Java 的 Lambda 表达式中将类拆分为其属性

问题描述

假设您有一个自定义类:

public class T {
    int a;
    int b;
}

有没有办法可以通过以下方式在 lambda 表达式中拆分类:

(Stream of T instances).forEach((a, b) -> {});

标签: javalambdajava-stream

解决方案


Java 没有元组的概念,所以没有!但是可以通过将流转换为 a 来解决Map这有很多限制和后果):

(Stream of T instances)
    .collect(Collectors.toMap(t -> t.a, t -> t.b))
    .forEach((a, b) -> {});

推荐阅读