D:\think>javac ArrayListTest.java
注意: ArrayListTest.java 使用了未经检查或不安全的操作。
注意: 要了解详细信息,请使用 -Xlint:unchecked 重新编译。
D:\think>java ArrayListTest
weixin
sunxin
liuxin
D:\think>
怎么会出现使用了未经检查或不安全的操作呢?
编译完成后会自动用JCreator 工具打开ArrayListTest源文件?
但,执行结果是正确的。
帮我看看是哪里出错了?
源码如下:
import java.util.*;
class ArrayListTest
{
public static void main(String[] args)
{
ArrayList al=new ArrayList();
al.add("weixin");
al.add("sunxin");
al.add("liuxin");
for(int i=0;i<al.size();i++)
{
System.out.println(al.get(i));
}
}
}
----------------解决方案--------------------------------------------------------
这是因为JDK1.5中引进了泛型,但是你的ArrayList却没有采用,所有会有安全问题,比如你可以把一个别的对象放入al里面去,但是取出来的时候可能就会出错了,所以为了安全,在JDK1.5中引进了泛型这个概念。
你可以改成如下样子就不会产生警告了
import java.util.*;
class ArrayListTest
{
public static void main(String[] args)
{//因为你这里放进去的是String对象,所以这样定义
//然后你取出来的时候就不用强制转换了
ArrayList<String> al=new ArrayList<String>();
al.add("weixin");
al.add("sunxin");
al.add("liuxin");
for(int i=0;i<al.size();i++)
{
System.out.println(al.get(i));
}
}
}
----------------解决方案--------------------------------------------------------
在Jcreator 编译运行 没有任何错误和异常啊 不知道楼主所说什么问题
----------------解决方案--------------------------------------------------------
用1.5版本的JDK编译才会出现这种问题,运行是没有问题的,主要是编译会出警告而已
----------------解决方案--------------------------------------------------------
又学了一招,谢版主!
在JC里编译是没问题,在DOS下就会出现那提示.
顺便问下,版主是在厦门的吗?
我也是在厦门的.
----------------解决方案--------------------------------------------------------
我现在在厦门啊
----------------解决方案--------------------------------------------------------