gpt4 book ai didi

java - 类型安全 : The method. 。属于原始类型。对泛型的引用应该被参数化

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:48:35 25 4
gpt4 key购买 nike

Eclipse 给了我警告(在标题中),在一个工作项目中只使用以下代码,除了一个虚拟类和一个主要方法之外什么都没有:

List a = new ArrayList();
List<Integer> b = new ArrayList<Integer>();
int x = 19;
a.add(x);

最后一行触发警告。我不确定我在这里做错了什么,或者真的,我什至在做什么。我是一名遵循可疑教程的 Java 学生,我正在尝试理解泛型。据推测,变量 x 不说明类型安全。我尝试将它转换为 Object 类型(我认为它什么都不做,因为它已经是)但它没有用。

我该如何解决这个警告?

最佳答案

您已声明 List a没有类型参数。这就是 eclipse 提示类型安全的原因,因为您可以将任何类型的对象添加到该列表。

如果您查看 ArrayList api并查看类声明,您会看到它是这样声明的:

public class ArrayList<E>

用你想要的任何类替换 E。

List<Integer> b您已明确告诉编译器该列表将包含 Integer 的实例仅对象,编译器可以验证这一点,从而为您提供类型安全。

关于java - 类型安全 : The method. 。属于原始类型。对泛型的引用应该被参数化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21147204/

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