gpt4 book ai didi

java-8 - 不兼容的类型 : Predicate cannot be converted to Predicate

转载 作者:行者123 更新时间:2023-12-04 21:05:38 27 4
gpt4 key购买 nike

这是我的代码。

import java.util.stream.Stream;
import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.function.Predicate;

public class StreamMethod{
public static void main(String... args){
List<Integer> data = new ArrayList<Integer>(Arrays.asList(1,2,3,4,5,6,7,8));

allMatch(data, x -> x < 10);
}

public static <T> void allMatch(List<?> list, Predicate<? super T> predicate){
boolean allSatisfy = list.stream().allMatch(predicate);
System.out.println(allSatisfy);
}
}

我收到错误 incompatible types: Predicate<CAP#1> cannot be converted to Predicate<? super CAP#2> .你能帮我解决吗?为什么它会显示这个错误?

然后我还将上述传递参数的行更改为
Predicate<Integer> pred= x -> x < 10;
allMatch(data, pred);

但仍然面临错误。

最佳答案

您应该更改为 List<T> list而不是 List<?> list

关于java-8 - 不兼容的类型 : Predicate<CAP#1> cannot be converted to Predicate<? super CAP#2>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46794366/

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