Eclipse在一个工作项目中仅使用以下代码给出了警告(在标题中),其中没有任何内容,只有一个虚拟类和一个主方法:
List a = new ArrayList();
List<Integer> b = new ArrayList<Integer>();
int x = 19;
a.add(x);
Run Code Online (Sandbox Code Playgroud)
最后一行触发警告.我不确定我在这里做错了什么,或者真的,我甚至在做什么.我是一名Java学生,参加了一个可疑的教程,我试图理解泛型.据推测,变量x并未说明类型安全性.我尝试将它转换为Object类型(我认为它什么也没做,因为它已经存在)并且它不起作用.
我该如何解决此警告?
您已声明List a
没有type参数.这就是eclipse抱怨类型安全的原因,因为你可以将任何类型的对象添加到该列表中.
如果您查看ArrayList api并查看类声明,您会看到它声明如下:
public class ArrayList<E>
Run Code Online (Sandbox Code Playgroud)
用你想要的任何课程代替E.
有了List<Integer> b
你已经明确告诉编译器,这个名单是保持的情况下Integer
仅对象,编译器可以验证这一点,从而给你键入安全.
归档时间: |
|
查看次数: |
7000 次 |
最近记录: |