java中迭代器取出对象后,为什么要将对象提升为Object,对象放到集合的时候不就是被提升为了Object了吗?
importsrstudent.学生类;importjava.util.ArrayList;importjava.util.Iterator;importjava.uti...
import srstudent.学生类;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
*
* list的简单练习;除去重复元素;
*/
public class List练习题 {
public static void main(String[] args){
学生类 student1 = new 学生类("小明",11);
学生类 student2 = new 学生类("小明",11);
ArrayList list = new ArrayList();
list.add(student1);
list.add(student2);
ArrayList temp = new ArrayList();
for (Iterator it = list.iterator();it.hasNext();){
Object obj = it.next();//################################//
if(!temp.contains(obj)){
temp.add(obj);
}
}
System.out.println(temp);
}
}
标有###的那一行;为什么要把it.next()转成Object对象?如果不转,经过编译,会抛出一个Nosuchelement的异常,这是为什么呢? 展开
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
*
* list的简单练习;除去重复元素;
*/
public class List练习题 {
public static void main(String[] args){
学生类 student1 = new 学生类("小明",11);
学生类 student2 = new 学生类("小明",11);
ArrayList list = new ArrayList();
list.add(student1);
list.add(student2);
ArrayList temp = new ArrayList();
for (Iterator it = list.iterator();it.hasNext();){
Object obj = it.next();//################################//
if(!temp.contains(obj)){
temp.add(obj);
}
}
System.out.println(temp);
}
}
标有###的那一行;为什么要把it.next()转成Object对象?如果不转,经过编译,会抛出一个Nosuchelement的异常,这是为什么呢? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询