在java中迭代器it.next()返回的是什么?下面的代码中为什么输出是地址值?而不是具体对象加属性值?

publicclassSet_method{publicstaticvoidmain(String[]args){Set<Student>set=newHashSet<S... public class Set_method {
public static void main(String [] args)
{
Set<Student> set = new HashSet<Student>();
set.add(new Student("lisi1",22));
set.add(new Student("lisi2",22));
set.add(new Student("lisi3",24));
set.add(new Student("lisi5",27));
set.add(new Student("lisi2",21));
set.add(new Student("lisi3",23));
//注意的是该容器只能用迭代器取元素
for(Iterator<Student> it =set.iterator(); it.hasNext();)
{
System.out.println(it.next().getClass());
System.out.println(it.next());
}
}
}
//输出:
class Student
Student@623686a
class Student
Student@6236869
class Student
Student@6236908
展开
 我来答
fuyh16
2019-11-16 · TA获得超过222个赞
知道小有建树答主
回答量:462
采纳率:82%
帮助的人:120万
展开全部
这个输出,不是地址。因为你在set中,存的是对象,it.next()获取的就是这个对象,利用System.out.print打印对象当然打印不出来了,你可以打印Student的方法获取的值,比如
getName()等,就可以了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式