Java Vector与Enumeration类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Vector与Enumeration类相关的知识,希望对你有一定的参考价值。

import java.util.*;
public class TestVector

public static void main(String [] args)

//Vector v=new Vector();
ArrayList al=new ArrayList();
int i=0;
int sum=0;
System.out.println("Please Enter Number: ");
while(true)

try

i=System.in.read();

catch(Exception e)

System.out.println(e.getMessage());

if(i=='\r' || i=='\n')

break;

else

int num=i-'0';
//v.addElement(new Integer(num));
al.add(new Integer(num));



//Enumeration e=v.elements();
Iterator ita=al.iterator();
while(ita.hasNext())//e.hasMoreElements())

//Integer intObj=(Integer)e.nextElement();
Integer intObj=(Integer)ita.next();
sum=sum+intObj.intValue();

System.out.println(sum);



为什么上面的代码编译会有这种提示???

注意:TestVector.java 使用了未经检查或不安全的操作.
注意:要了解详细信息,请使用-Xlint:unchecked重新编译.

请高手指点!
加拉,还是一样出现那两个注意啊 !

报这种注意是不会影响运行结果的,主要是你的jdk是用的1.5版本 而1.5的集合创建方式与1.4的有些不同 1.5中引入了泛型 所以你把代码改为:
ArrayList<Object> al = new ArrayList<Object>();
就可以了 你试试吧

参考资料:http://hi.baidu.com/sunshinefyx/blog/item/268a39d85d1fa13433fa1cc7.html

参考技术A 可能是你 ArrayList al=new ArrayList()的时候没有指定泛型,尝试加入类型比如 ArrayList<Integer> al=new ArrayList<Integer>();Iterator<Integer> ita = al.iterator();
试试看,或者加入@SuppressWarnings("unchecked")
参考技术B
//Enumeration e=v.elements();
Iterator ita=al.iterator();
while(ita.hasNext())//e.hasMoreElements())

//Integer intObj=(Integer)e.nextElement();
Integer intObj=(Integer)ita.next();
sum=sum+intObj.intValue();

System.out.println(sum);

代码加到try块里去呢
参考技术C 除了ArrayList要加泛型外,Iterator接口也要指定它的类型
即:Iterator<Integer> ita=al.iterator();
还有就是建议你在进行异常处理时,一般不要捕捉整个异常类,那样太不太合理
你上面的代码明显就是一个IOException

以上是关于Java Vector与Enumeration类的主要内容,如果未能解决你的问题,请参考以下文章

Java中Enumeration接口的用法

Vector类与Enumeration接口

for (Enumeration e = vScore.elements() ; e.hasMoreElements() ;)不理解(vScore是Vector类的)

遍历Enumeration

Java 集合类学习之Vector

java 数据结构