为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

白衣非少年 2023-03-11 18:14:58
有一个javabean,通过查询数据库已经赋值了。然后将这个bean加入到ArrayList里面。遍历list得到的结果:bean.Category@1da1a93bean.Category@6aadebean.Category@1bc081fbean.Category@1b9658ebean.Category@ba86ef我要怎样才能输出bean.Category里面的内容。以下是输出语句Iterator it = list.iterator();out.print("遍历list得到的结果:"+"<br>");while (it.hasNext()) {out.print(it.next() + "<br>");}
查看完整描述

2 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

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

 


查看完整回答
反对 回复 2023-03-15
?
慕斯709654

TA贡献1840条经验 获得超5个赞

默认的toString()方法的字符串格式是:
类的包路径 @ hashCOde的八进制表示。
bean.Category是类名。
1da1a93是hashcode的八进制表示方法。
你想打印正确就要重载toString方法,让这个方法打印出这个对象的信息就可以了。

查看完整回答
反对 回复 2023-03-15
  • 2 回答
  • 0 关注
  • 70 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信