| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1122 人关注过本帖
标题:为什么不对呢?应该怎么去做Vector类
只看楼主 加入收藏
heilong
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:777
专家分:0
注 册:2007-6-7
收藏
 问题点数:0 回复次数:12 
为什么不对呢?应该怎么去做Vector类

import java.util.*;

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 CatsAndDogs2 {
public static void main(String[] args) {
Vector cats = new Vector();
for(int i = 0; i < 7; i++)
cats.addElement(new Cat2(i));
// Not a problem to add a dog to cats:
cats.addElement(new Dog2(7));
Enumeration e = cats.elements();
while(e.hasMoreElements())
((Cat2)e.nextElement()).print();
// Dog is detected only at run-time
}
}

出现:
注意:CatsAndDogs2.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
要怎么做啊?

搜索更多相关主题的帖子: Vector 
2007-07-03 11:34
食恶不色
Rank: 2
等 级:新手上路
威 望:3
帖 子:632
专家分:5
注 册:2006-11-8
收藏
得分:0 
在我這里運行的結果是這樣的
Cat number 0
Cat number 1
Cat number 2
Cat number 3
Cat number 4
Cat number 5
Cat number 6
Exception in thread "main" java.lang.ClassCastException: Dog2
at CatsAndDogs2.main(CatsAndDogs2.java:34)
拋這個異常是因為
cats.addElement(new Dog2(7));
Enumeration e = cats.elements();
while(e.hasMoreElements())
((Cat2)e.nextElement()).print();
你在cats.addElement(new Dog2(7)); 打印出來會出錯

做人要厚道,看帖要回帖!回帖是尊重,回帖是美德! 美德要发扬,我们要顶帖!顶帖是好事,千万莫灌水!
2007-07-03 11:45
heilong
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:777
专家分:0
注 册:2007-6-7
收藏
得分:0 
可是在我这里编译都过不去啊?
为什么呢?

风水鸡蛋壳,财去人安乐!----->
2007-07-03 12:06
食恶不色
Rank: 2
等 级:新手上路
威 望:3
帖 子:632
专家分:5
注 册:2006-11-8
收藏
得分:0 
你用的是什么IDE的?

做人要厚道,看帖要回帖!回帖是尊重,回帖是美德! 美德要发扬,我们要顶帖!顶帖是好事,千万莫灌水!
2007-07-03 12:11
heilong
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:777
专家分:0
注 册:2007-6-7
收藏
得分:0 
我用文本文档+JDK1.6

风水鸡蛋壳,财去人安乐!----->
2007-07-03 12:23
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
用泛型

JDK1.5以后,你没有用泛型都会警告,

可惜不是你,陪我到最后
2007-07-03 13:07
heilong
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:777
专家分:0
注 册:2007-6-7
收藏
得分:0 
什么是泛型啊?能不能写下看看?

风水鸡蛋壳,财去人安乐!----->
2007-07-03 13:09
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
Vector<Cat2> cats=new Vector<Cat2>();

这个时候,cats里面只能放到Cat2对象了,放入别的编译都通不过,这样就安全了

并且你从里面取出来的时候,不需要用(Cat2)转型了

直接取就可以

可惜不是你,陪我到最后
2007-07-03 13:24
狂放不羁
Rank: 4
等 级:贵宾
威 望:12
帖 子:925
专家分:0
注 册:2007-1-24
收藏
得分:0 
对,千里老兄说的是也,我也前几天看了一下泛型,觉得和C++中的摸版很像哈哈..

[此贴子已经被作者于2007-7-3 13:33:26编辑过]


2007-07-03 13:33
heilong
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:777
专家分:0
注 册:2007-6-7
收藏
得分:0 
哦,也就首先先将它固定.
我在看书时也觉得好像以上写的有点不安全样的.但这样固定之后用起来,就不是很方便了呀!!

[此贴子已经被作者于2007-7-3 15:40:49编辑过]


风水鸡蛋壳,财去人安乐!----->
2007-07-03 13:36
快速回复:为什么不对呢?应该怎么去做Vector类
数据加载中...
 
   



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

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