日期:2014-05-19  浏览次数:20750 次

使用了未经检查或不安全的操作,什么意思?
import java.util.*;
public class Jp
{
  public static void main(String[] args)
  {
  List list=new ArrayList<String>();
  list.add("U");
list.add("U");
list.add("a");
list.add("c");
list.add("a");
list.add("u");
Iterator<String> r=list.iterator();
System.out.println("结果是:");
while(r.hasNext())
{
System.out.println(r.next());
}
Set set=new HashSet<String>();
set.addAll(list);
Iterator<String> it=set.iterator();
System.out.println("结果是:");
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
代码能够运行,不过有注意,是没进行异常处理吗?

------解决方案--------------------
List和Set在声明的时候没有指定泛型类型,无法在编译期检查类型。被认为是不安全的。
------解决方案--------------------
声明时没有指定泛型类型,编译器会警告
------解决方案--------------------
Java code

public static void main(String[] args) {
   List<String> list = new ArrayList<String>();
   list.add("U");
   list.add("U");
   list.add("a");
   list.add("c");
   list.add("a");
   list.add("u");
   Iterator<String> r = list.iterator();
   System.out.println("结果是:");
   while (r.hasNext()) {
    System.out.println(r.next());
   }
   Set<String> set = new HashSet<String>();
   set.addAll(list);
   Iterator<String> it = set.iterator();
   System.out.println("结果是:");
   while (it.hasNext()) {
    System.out.println(it.next());
   }
}