gpt4 book ai didi

java - 如何在 Java 8 Lambdas 中使用非最终变量

转载 作者:搜寻专家 更新时间:2023-10-30 21:06:14 25 4
gpt4 key购买 nike

如何在 Java 8 lambda 中使用非最终变量。它抛出编译错误,提示“在封闭范围内定义的局部变量日期必须是最终的或有效的最终”

我其实是想达到以下目的

public Integer getTotal(Date date1, Date date2) {
if(date2 == null || a few more conditions) {
date2 = someOtherDate;
}
return someList.stream().filter(filter based on date1 and date2).map(Mapping Function).reduce(Addition);
}

我如何实现这一目标?它为 date2 抛出编译错误。谢谢,

最佳答案

使用另一个可以启动一次的变量。

final Date tmpDate;
if(date2 == null || a few more conditions) {
tmpDate = someOtherDate;
} else {
tmpDate = date2;
}

关于java - 如何在 Java 8 Lambdas 中使用非最终变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36307541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com