标题:[求助]关于java.util.ArrayList中add的用法?
只看楼主
godlw
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-10-13
 问题点数:0 回复次数:8 
[求助]关于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 用法 
2007-11-08 15:32
netstriker
Rank: 1
等 级:新手上路
威 望:1
帖 子:257
专家分:0
注 册:2007-3-24
得分:0 

是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);
}
}

其实都不会出错的,我运行的时候就不会出错,只是一些警告。

2007-11-08 15:47
godlw
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-10-13
得分:0 
就是不知到这些警告是什么意思啊,有没有害处

2007-11-08 15:55
DasayHaoEr
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2007-11-6
得分:0 
没什么害处,只是在JAVA JDK1.5后出现的泛型,有了这个机制,我们可以确定要放什么类型进去
比如:
List<Integer> list = new ArrayList()<Integer>;
那就明确地说明list里只能放Integer类型的数据,以前只要是对象就可以.
2007-11-08 16:12
cindy051185
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2007-10-12
得分:0 
这个程序没有问题 你用JDK1.4的 绝对不出这些东西

2007-11-14 10:33
真爱小刀
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-8-21
得分:0 
你这个程序是在哪个包里的?我估计你好像没有把这段程序放进包里。就像孤魂野鬼一样没有家,所以才会警告“未经检查或不安全的操作”。
2007-11-14 23:42
glamey
Rank: 2
等 级:论坛游民
威 望:1
帖 子:57
专家分:17
注 册:2006-5-31
得分:0 
对了,就是因为你的Jdk版本太低了,不支持泛行。

锲而不舍。自信自强。
2007-11-15 13:42
athueryin
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-11-4
得分:0 
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一起学习交流
2008-11-04 16:47
athueryin
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-11-4
得分:0 
//也可以这样写,写法挺多的。
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 》看看上面也有这方面的知识
2008-11-06 01:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-184547-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.843662 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved