java关于使用了未经检查或者不安全的操作

importjava.util.*;publicclassEnhancedFor{publicstaticvoidmain(String[]args){int[]arry... import java.util.*;
public class EnhancedFor {
public static void main(String[] args) {
int[] arry = {1,3,5,7,9};
for(int i : arry) {
System.out.println(i);
}
Collection c = new ArrayList();
c.add(new String("aaa"));
c.add(new String("bbb"));
c.add(new String("ccc"));
for (Object o : c ) {
System.out.println(o);
}

}
}
-----------------------------------------------------
注意:EnhancedFor.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。

F:\java>javac EnhancedFor.java -Xlint
EnhancedFor.java:9: 警告:[unchecked] 对作为普通类型 java.util.Collection 的成员
的 add(E) 的调用未经检查
c.add(new String("aaa"));
^
EnhancedFor.java:10: 警告:[unchecked] 对作为普通类型 java.util.Collection 的成
员的 add(E) 的调用未经检查
c.add(new String("bbb"));
^
EnhancedFor.java:11: 警告:[unchecked] 对作为普通类型 java.util.Collection 的成
员的 add(E) 的调用未经检查
c.add(new String("ccc"));
^
3 警告
程序可以运行 我想问的是 使用了未经检查或者不安全的操作是什么意思 那位可以给我讲讲。这个程序要怎么写才算是健壮的 谢谢了
展开
 我来答
nirenfu
2009-11-10 · TA获得超过1991个赞
知道小有建树答主
回答量:368
采纳率:0%
帮助的人:626万
展开全部
Collection c = new ArrayList();
在jdk5.0里面,初始化集合时需要采用泛型进行定义,像c里面加入的都是String,你可以这样定义:Collection<String> c = new ArrayList<String>();表示这个集合里面的元素都为String类型,以后取出来也不需要做类型转换,例如String p=c.next();就可以了。
当然不用泛型也可以,你只需要在定义这个集合的类里面加上: @SuppressWarnings("unchecked")就可以了
大时代暑
推荐于2017-11-22 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4111
采纳率:0%
帮助的人:4798万
展开全部
因为你使用了容器,却没有用泛型,就会出现上述情况,没关系,不是什么错误

你可以加上泛型

import java.util.*;
public class EnhancedFor {
public static void main(String[] args) {
int[] arry = {1,3,5,7,9};
for(int i : arry) {
System.out.println(i);
}
List<String> c = new ArrayList<String>();
c.add("aaa");
c.add("bbb");
c.add("ccc");
for (String o : c ) {
System.out.println(o);
}

}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
406705
2009-11-10 · TA获得超过467个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:0
展开全部
估计是在这里不能用foreach语句

你的编译级别大概是1.4的,难道出错信息没说: 如果用的是Eclipse,看看Project的Property, JDK Compliance的Compiler compliance level是多少. 尽管你的JDK是1.6,但并不能保证compliance level是1.5以上.

选中项目, 然后右键 > Properties > Java Compiler里面有很多参数. 可以选中Enable project specific settings然后修改该项目的编译参数.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式