关于自己在编程中遇到的问题
一直没有上来写写东西了,这几天一直在思考着很多问题和查阅资料,看API源代码,开API里接口的关系,比如说派生了哪些接口,继承了哪些接口
调试程序中遇到了抠脑袋的问题,今天终于豁然开朗,把问题写下来分享分享:
关于集合类,如果创建了一个列表,往列表里添加元素,元素比如说是某个类A,而在返回这个类的迭代器后,如果用该迭代器的next()方法去调用列表中对象中的属性时报错,因为返回的元素类型是object类型,而不是A类型,所以必须要进行强转后才能去调用:
import java.util.*;
class A{
?? private int a;
? private int b;
? public A(int a , int b){
????? this.a = a;
?? this.b = b;
}
public biterator(Collection e){
Iterator it = e.iterator;
while(it.hasNext()){
???A a = (A)it.next(); //如果不强转,直接打印it.next()的话,那么就找不到变量a,因为it.next()返回的是Object类型
System.out.print(a.(this.a));
}
}
}
class B{
?
public static void main(String [] args){
??? B b = new B();
?? ArrayList list = new ArrayList();
? list.add(new A(20,5));
list.add(new A(30.6));
}
}