gpt4 book ai didi

java - 方法引用导致原始类型编译器警告,但 lambda 不会

转载 作者:搜寻专家 更新时间:2023-11-01 03:46:40 38 4
gpt4 key购买 nike

给定:

public static <T> CompletableFuture<? extends List<? extends T>> supplyAllOf(
List<? extends CompletableFuture<? extends T>> input)
{
return CompletableFuture.allOf(input.toArray(new CompletableFuture<?>[input.size()])).
thenApply(ignored -> input.stream().map(CompletableFuture::join).collect(Collectors.toList()));
}

我收到此编译器警告(使用 -Xlint):

found raw type: java.util.concurrent.CompletableFuture
missing type arguments for generic class java.util.concurrent.CompletableFuture<T>

但是如果我将 CompletableFuture::join 替换为 e -> e.join() 警告就会消失。

这是编译器错误吗?如果不是,为什么我会看到这种行为?

最佳答案

不是完全确定,但看起来像 this issue (或者至少是它的一个用例)。

无论哪种方式,这都已在 10 中修复(刚刚测试过)并且不会产生任何警告。

关于java - 方法引用导致原始类型编译器警告,但 lambda 不会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49124282/

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