当前位置: 代码迷 >> Java相关 >> [求助]关于java.util.ArrayList中add的用法?
  详细解决方案

[求助]关于java.util.ArrayList中add的用法?

热度:398   发布时间:2007-11-08 15:32:53.0
[求助]关于java.util.ArrayList中add的用法?

源程序:
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编辑过]

搜索更多相关的解决方案: util  java  ArrayList  add  用法  

----------------解决方案--------------------------------------------------------

是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 》看看上面也有这方面的知识
----------------解决方案--------------------------------------------------------
  相关解决方案