有一個javabean,通過查詢數據庫已經賦值了。然后將這個bean加入到ArrayList里面。遍歷list得到的結果:[email protected]@[email protected]@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;
}
}

慕斯709654
TA貢獻1840條經驗 獲得超5個贊
默認的toString()方法的字符串格式是:
類的包路徑 @ hashCOde的八進制表示。
bean.Category是類名。
1da1a93是hashcode的八進制表示方法。
你想打印正確就要重載toString方法,讓這個方法打印出這個對象的信息就可以了。
添加回答
舉報
0/150
提交
取消