关于自己在编程中遇到的问题

一直没有上来写写东西了,这几天一直在思考着很多问题和查阅资料,看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));

}

}

猜你喜欢

转载自xanthe.iteye.com/blog/1025690