源程序:
import java.util.*;
class ArrayListTest
{
public static void main(String[] args)
{
ArrayList al=new ArrayList();
al.add("zhangsan");
al.add("lisi");
al.add("wanwu");
for(int i=0;i<al.size();i++)
{
System.out.println(al.get(i));
}
System.out.println(al);
}
}
错误:
注意: F:\javalesson\lesson\ArrayListTest.java 使用了未经检查或不安全的操作。
注意: 要了解详细信息,请使用 -Xlint:unchecked 重新编译。
还有下面的错误是什么意思看不懂啊
F:\javalesson\lesson>javac -Xlint ArrayListTest.java
ArrayListTest.java:7: 警告: [unchecked] 对作为普通类型 java.util.ArrayList 的成
员的 add(E) 的调用未经检查
al.add("winsun");
^
ArrayListTest.java:8: 警告: [unchecked] 对作为普通类型 java.util.ArrayList 的成
员的 add(E) 的调用未经检查
al.add("weixin");
^
ArrayListTest.java:9: 警告: [unchecked] 对作为普通类型 java.util.ArrayList 的成
员的 add(E) 的调用未经检查
al.add("mybole"); ^
3 警告
为什么会出现这样的问题啊
add(E e)中的E又表示什么意思,请回答下谢谢!
[此贴子已经被作者于2007-11-8 15:35:30编辑过]
----------------解决方案--------------------------------------------------------
是ArrayList泛型,
import java.util.*;
class ArrayListTest
{
public static void main(String[] args)
{
ArrayList<String> al=new ArrayList<String>();
al.add("zhangsan");
al.add("lisi");
al.add("wanwu");
for(int i=0;i<al.size();i++)
{
System.out.println((String)al.get(i));
}
System.out.println(al);
}
}
其实都不会出错的,我运行的时候就不会出错,只是一些警告。
----------------解决方案--------------------------------------------------------
就是不知到这些警告是什么意思啊,有没有害处
----------------解决方案--------------------------------------------------------
没什么害处,只是在JAVA JDK1.5后出现的泛型,有了这个机制,我们可以确定要放什么类型进去
比如:
List<Integer> list = new ArrayList()<Integer>;
那就明确地说明list里只能放Integer类型的数据,以前只要是对象就可以.
----------------解决方案--------------------------------------------------------
这个程序没有问题 你用JDK1.4的 绝对不出这些东西
----------------解决方案--------------------------------------------------------
你这个程序是在哪个包里的?我估计你好像没有把这段程序放进包里。就像孤魂野鬼一样没有家,所以才会警告“未经检查或不安全的操作”。
----------------解决方案--------------------------------------------------------
对了,就是因为你的Jdk版本太低了,不支持泛行。
----------------解决方案--------------------------------------------------------
import java.util.*;
class ArrayListTest<E>
{
public static void main(String[] args)
{
ArrayList<String> al=new ArrayList<String>();
al.add("zhangsan");
al.add("lisi");
al.add("wanwu");
for(int i=0;i<al.size();i++)
{
System.out.println(al.get(i));
}
System.out.println(al);
}
}
这样改就OK了,你用的应该是JDK1.5版本吧,1.5在集合框架都支持用泛型了,所以你会出错,可加我QQ:328695643一起学习交流
----------------解决方案--------------------------------------------------------
//也可以这样写,写法挺多的。
import java.util.*;
class ArrayListTest
{
public static void main(String[] args)
{
ArrayList<Object> al=new ArrayList<Object>();
al.add("zhangsan");
al.add("lisi");
al.add("wanwu");
for(int i=0;i<al.size();i++)
{
System.out.println(al.get(i));
}
System.out.println(al);
}
}
其实就是JDK1.5版本SUN公司推出的新功能--泛型,你可以到网上差资料,也可以弄《THINKING IN JAVA 》看看上面也有这方面的知识
----------------解决方案--------------------------------------------------------