日期:2014-05-20  浏览次数:20576 次

-Xlint:unchecked怎么用
今天编译一东东提示:
E:\java> javac   Test.java
注意:Test.java   使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用   -Xlint:unchecked   重新编译。
这个是什么东西啊!
代码:
import   java.util.*;

public   class   Test   {
public   static   void   main(String[]   args){
ArrayList   arr   =   new   Test().getRandom(50);
Iterator   it   =   arr.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
public   ArrayList   getRandom(int   num){
ArrayList   randomNum   =   new   ArrayList();
Random   random   =   new   Random();
int   temp   =   0;
for   (int   i   =   0;i   <   num;   i   ++){
temp   =   random.nextInt(num);
int   nums   =   temp   +   1;
if   (randomNum.indexOf(new   Integer(nums))   ==   -1){
randomNum.add(new   Integer(nums));
}else{
i   --   ;
}
}
return   randomNum;
}
}

------解决方案--------------------
ArrayList randomNum = new ArrayList();
||
||
\/
ArrayList <Integer> randomNum = new ArrayList <Integer> ();
------解决方案--------------------
javac -Xlint:unchecked Test.java


------解决方案--------------------
是因为java 自 5.0 加了generics

http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html

你可以用 ArrayList <Integer> randomNum = new ArrayList <Integer> (),当然也可以不管他,这只是一个warning,不是error,所以还是会被编译的。