1700467113
public void remove(){
1700467114
1700467115
//暂时没有使用到
1700467116
1700467117
}
1700467118
1700467119
}
1700467120
1700467121
细心的读者可能会从代码中发现一个问题,java.util.iterator接口中定义next()方法的返回值类型是E,而你在ProjectIterator中返回值却是IProject,E和IProject有什么关系?
1700467122
1700467123
E是JDK 1.5中定义的新类型:元素(Element),是一个泛型符号,表示一个类型,具体什么类型是在实现或运行时决定,总之它代表的是一种类型,你在这个实现类中把它定义为ProjectIterator,在另外一个实现类可以把它定义为String,都没有问题。它与Object这个类可是不同的,Object是所有类的父类,随便一个类你都可以把它向上转型到Object类,也只是因为它是所有类的父类,它才是一个通用类,而E是一个符号,代表所有的类,当然也代表Object了。
1700467124
1700467125
都写完毕了,看看我们的Boss类有多少改动,如代码清单20-8所示。
1700467126
1700467127
代码清单20-8 老板看报表
1700467128
1700467129
public class Boss{
1700467130
1700467131
public static void main(String[]args){
1700467132
1700467133
//定义一个List,存放所有的项目对象
1700467134
1700467135
IProject project=new Project();
1700467136
1700467137
//增加星球大战项目
1700467138
1700467139
project.add(“星球大战项目ddddd”,10,100000);
1700467140
1700467141
//增加扭转时空项目
1700467142
1700467143
project.add(“扭转时空项目”,100,10000000);
1700467144
1700467145
//增加超人改造项目
1700467146
1700467147
project.add(“超人改造项目”,10000,1000000000);
1700467148
1700467149
//这边100个项目
1700467150
1700467151
for(int i=4;i<104;i++){
1700467152
1700467153
project.add(“第”+i+“个项目”,i*5,i*1000000);
1700467154
1700467155
}
1700467156
1700467157
//遍历一下ArrayList,把所有的数据都取出
1700467158
1700467159
IProjectIterator projectIterator=project.iterator();
1700467160
1700467161
while(projectIterator.hasNext()){
1700467162
[
上一页 ]
[ :1.700467113e+09 ]
[
下一页 ]