在页面遍历的时候,输出的却是下面的内容....,为什么?

有一个javabean,通过查询数据库已经赋值了。然后将这个bean加入到ArrayList里面。

遍历list得到的结果:
bean.Category@1da1a93
bean.Category@6aade
bean.Category@1bc081f
bean.Category@1b9658e
bean.Category@ba86ef

我要怎样才能输出bean.Category里面的内容。
以下是输出语句
Iterator it = list.iterator();
out.print("遍历list得到的结果:"+"<br>");
while (it.hasNext()) {
out.print(it.next() + "<br>");
}

白衣非少年
浏览 139回答 2
2回答

智慧大石

从你得到的结果看,你确实是获得到了bean包下的Category类的category对象。但是为什么打印出来的是对象的字符串表现形式?这是因为所有类继承了Object类,Object类里面有个String toString()方法。当使用System.out.println()方法输出一个对象(相当于jsp,servlet中用的out.println()方法),系统自动调用该对象的toString()方法返回“运行时类名@十六进制hashCode值”格式的字符串。如果你想获得真正的类包含的信息,就自己重写toString()方法。比如:class A{int count;//一个成员属性@Overridepublic String toString(){return "此对象的属性count值为:"+count;}}&nbsp;

慕斯709654

默认的toString()方法的字符串格式是:类的包路径 @ hashCOde的八进制表示。bean.Category是类名。1da1a93是hashcode的八进制表示方法。你想打印正确就要重载toString方法,让这个方法打印出这个对象的信息就可以了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java