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

编译出现unchecked call to add(E)的警告问题怎么解决?高手快进来,非常感谢!
我编译时出现:
      Note:Sam.java   uses   unchecked   or   unsafe   operations.
      Note:Recompile   with   -Xlint:unchecked   for   details.
我Recompile了以后,出现的警告是:
        warning:[unchecked]unchecked   call   to   add(E)   as   a   member   of   the   raw  
                          type   java.util.ArrayList
                        al.add(Double.valueOf(in));

其中:
          static   ArrayList   al=new   ArrayList();
          double   in;

请教各位高手了,非常感谢!

------解决方案--------------------
类型安全检查,JDK 1.5 的集合警告,你准备在 al 里面放什么呢,如果是 String 的话就改成:

static ArrayList <String> al=new ArrayList <String> ();

总之在 <> 里放进去你需要存放的类的名字就可以了。
------解决方案--------------------
如果你不想改 al 的话,需要在方法声明的上一行加上

@SuppressWarnings( "unchecked ")

不让编译器进行检查,但不推荐这样做。
------解决方案--------------------
因为它不能够确信加入到list中的值具有正确的类型。意思是使用了一个未经处理的类型,它不能验证代码是类型安全的。
------解决方案--------------------
static ArrayList <Double> al=new ArrayList <Double> ();
------解决方案--------------------
mark
------解决方案--------------------


------解决方案--------------------
顶1楼!
看看jdk1.5的泛型就明白了
------解决方案--------------------
楼主可以结贴了
------解决方案--------------------
Eclipse里Compiler的配置里面有,可以忽略掉