老式枚举的使用方法


import java.util.Enumeration;
import java.util.Vector;

class Cat2{
private int catNumber;
Cat2(int i){
catNumber = i;
}
void print(){
System.out.println("Cat number " + catNumber);
}
}
class Dog2{
private int dogNumber;
Dog2(int i){
dogNumber = i;
}
void print(){
System.out.println("Dog number " + dogNumber);
}
}
public class EnumerationTest {
@SuppressWarnings("unchecked")
public static void main(String args[]){
@SuppressWarnings("rawtypes")
Vector cats = new Vector(); //集合是使用
for(int i=0;i<7;i++){
cats.addElement(new Cat2(i)); //添加元素的方法
}
cats.addElement(new Dog2(7));
@SuppressWarnings("rawtypes")
Enumeration e = cats.elements(); //枚举的前提
while(e.hasMoreElements()){ //枚举元素是判断
((Cat2)e.nextElement()).print(); //获得元素的方法
}
}
}

//运行时会有异常发生:
//Exception in thread "main" java.lang.ClassCastException:
//Dog2 cannot be cast to Cat2
//at EnumerationTest.main(EnumerationTest.java:36)
//有兴趣的可以思考下原因?其实此问题实在是简单···


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值