【发布时间】:2009-12-24 05:51:27
【问题描述】:
我过去一直在使用向量,并且对它们非常熟悉。我听说 ArrayList 更快、更灵活。我不熟悉使用 ArrayLists 和 Java Generics。我目前正在按如下方式使用它们并收到有关参数化的警告(我以为我通过声明它们 <String> 来做到这一点。
ArrayList<String> arrayList = new ArrayList <String> ();
...
//then within a method
arrayList.add(file.getName()); //<-This line triggers the warning.
我在网上发现可以通过抑制方法中的警告来避免这种情况,如下所示。但是,这是一种变通方法,我宁愿了解数组列表如何工作并正确使用它们,而不是禁止因错误使用它们而发出警告。
@SuppressWarnings("unchecked")
如果有关于使用 ArrayLists 的某种约定或标准,我也很想了解这些。
编辑: 我收到的警告如下:类型安全:方法 add(Object) 属于原始类型 ArrayList。对泛型 ArrayList 的引用应该被参数化
【问题讨论】:
-
您能否显示发出警告的整个方法(或至少是声明)。
-
我正在做一个研究项目,所以我不想显示任何专有代码。我知道这会让事情变得更加困难:(
-
如果你做 string s = file.getName(); arrayList.add(s);你还会得到错误吗?你用的是哪个版本的JDK?
-
我曾多次尝试过(现在你建议这样做),但它并没有消除警告。
-
听起来 file.getName() 以某种方式返回了一个对象。什么类是文件的实例化?如果您添加(S),您会收到相同的错误消息?
标签: java standards arraylist warnings conventions