gpt4 book ai didi

java - generic varargs 的编译器警告的解决方案

转载 作者:搜寻专家 更新时间:2023-10-31 19:57:46 26 4
gpt4 key购买 nike

来自这个 blog 的谜题.类似于 SO1445233 .

给出以下源代码 list ,解释为什么编译器在调用 list 方法时产生警告,并给出无需借助 @SuppressWarnings 注释即可删除警告的解决方案。

public class JavaLanguagePuzzle3 {
public static void main(String[] args) {
list("1", 2, new BigDecimal("3.5"));
}
private static <T> List<T> list(T... items) {
return Arrays.asList(items);
}
}

警告:

Type safety: A generic array of Object&Serializable&Comparable<?> is created for a varargs parameter

最佳答案

list("1", 2, new BigDecimal("3.5"));JavaLanguagePuzzle3.<Object>list("1", 2, new BigDecimal("3.5"));

原因:<> syntax 指定你想要的泛型方法的版本。但是,您需要输入 .在它前面是为了让解析器开心,而在它前面的类名也是出于同样的原因。

来源: http://codeidol.com/java/javagenerics/Introduction/Generic-Methods-and-Varargs/

关于java - generic varargs 的编译器警告的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8206428/

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