gpt4 book ai didi

java - 我该如何解决这个问题?

转载 作者:行者123 更新时间:2023-12-01 19:46:22 26 4
gpt4 key购买 nike

我有这段代码,但我不明白为什么会出现以下错误:

local variables referenced from a lambda expression must be final or effectively final

这是我的代码

    public int firstMissingPositive(int[] nums) {

int k;

for (int i = 1;; i++) {
if (!Arrays.stream(nums).anyMatch(x -> x != i)) {
k = i;
break;
}
}
return k;
}

最佳答案

因为 i 不是有效的最终(请参阅 i++),并且它必须在 lambda 表达式中使用。

通过在循环内分配一个新的局部变量来修复它很容易:

public int firstMissingPositive(int[] nums) {
int k;
for (int i = 1;; i++) {
final int j = i;
if (! Arrays.stream(nums).anyMatch(x -> x != j)) {
k = j;
break;
}
}
return k;
}

关于java - 我该如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53176932/

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