小编Dia*_*ome的帖子

如何使用 Java 中的函数列表来比较两个对象的字段并求和结果

我有两个对象可以对函数列表中的每个字段使用不同的函数逐个字段进行比较。

目标:compare(NeedCompare n1, NeedCompare n2)使用函数列表调用并获得 BigDecimal value = compareAmount(NeedCompare needCompare1, NeedCompare needCompare2) .add(compareValue(NeedCompare needCompare1, NeedCompare needCompare2) .add(compareName(NeedCompare needCompare1, NeedCompare needCompare2) .add(compareCategory(NeedCompare needCompare1, NeedCompare needCompare2)))))

用流制作它会是完美的。

public class NeedCompare {
private BigDecimal category;
private String name;
private BigDecimal value;
private BigDecimal amount;

// The list is wrong and I don't know how to organize it
private List<Function<BigDecimal, NeedCompare>> functions = Arrays.asList(
        (needCompare1, needCompare2) -> compareCategory(needCompare1, needCompare2),
        (needCompare1, needCompare2) -> compareName(needCompare1, needCompare2),
        (needCompare1, needCompare2) -> compareValue(needCompare1, needCompare2),
        (needCompare1, needCompare2) -> …
Run Code Online (Sandbox Code Playgroud)

java function java-stream

3
推荐指数
1
解决办法
71
查看次数

标签 统计

function ×1

java ×1

java-stream ×1