现在的位置: 首页 > 综合 > 正文

以Object类型数组为例,解析包含不同类型数据的数组

2013年08月30日 ⁄ 综合 ⁄ 共 960字 ⁄ 字号 评论关闭
众所周知,Object类型的数组什么都可以存,但是在取的时候经常有一些麻烦,如果里面存的是同一种类型的数据,那取起来想必大家都知道怎么取,这不是个问题,但假如你有这种需求的时候你不得不考虑怎么用循环的方式把数据给取出来:
----------------------------------------------------------------------------------
现在我想用一个obj数组保存一个班的基本信息,其中有学生、老师,还有科目,如下:
Object[] obj=new Object[11];
obj[0]=new Student("lrm");
obj[1]=new Student("yzb");
obj[2]=new Student("ax");
obj[3]=new Student("mgm");
obj[4]=new Student("wb");
obj[5]=new Student("xz");
obj[6]=new Student("lg");
obj[7]=new Student("lry");
obj[8]=new Student("zl");
         .
         .
         .
obj[9]=new Teacher("ly");
obj[10]=new Subject("java");
现在我的需求是,把学生、老师、科目的名字用循环的形式打印出来。
上面数组里的信息其实还不够多,多到一定程度的时候你不得不考虑用循环来取数据,可是他们的类型不一致,这会让你无从下手,下面可以考虑用这样的方法:
for(int i=0;i<obj.length;i++){
   Class c=obj[i].getClass();
   if(c==Student.class){
      System.out.println(((Student)obj[i]).getName());
   }
   else if(c==Teacher.class){
      System.out.println(((Teacher)obj[i]).getName());
   }
   else if(c==Subject.class){
      System.out.println(((Subject)obj[i]).getName());
   }
}

抱歉!评论已关闭.