java List里面存储了两个对象,要如何把它读取出来

packageBBS.BaseDao.Closs;importjava.sql.ResultSet;importjava.sql.SQLException;importj... package BBS.BaseDao.Closs;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import BBS.BaseDao.SQL.BaseDao_BaseDao;
import BBS.BaseDao.SQL.BaseDao_Select_Add;
import BBS.BaseDao.TBL.BaseDao_BOARD;
import BBS.BaseDao.TBL.BaseDao_TOPLC;
import BBS.BaseDao.TBL.BaseDao_USER;

public class BaseDao_Means {
/**
* 查询最后发帖
*/
public List<Object> ToplcUser(int boardid){
String sql="select top 1 t.title,t.contents,t.modifyTime,t.uid,t.boardid,b.uName from tbl_topic t,tbl_user b where t.uid = b.uid and t.boardid = ? order by modifyTime desc";
BaseDao_TOPLC toplc = null;
BaseDao_USER user = null;
List<Object> list = new ArrayList<Object>();
BaseDao_Select_Add select = new BaseDao_Select_Add();
try {
ResultSet rs =select.AddTopic(sql,new Object[]{""+boardid});
while (rs.next()) {
toplc= new BaseDao_TOPLC();
user = new BaseDao_USER();
toplc.setTitle(rs.getString("title"));
toplc.setContent(rs.getString("contents"));
toplc.setModifyTime(rs.getString("modifyTime"));
toplc.setUid(rs.getInt("uid"));
toplc.setBoardid(rs.getInt("boardid"));
user.setUName(rs.getString("uName"));
list.add(toplc);
list.add(user);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return list;

}
List里面存储了两个对象,setUname是用户名、

public class BaseDao_TOPLC {
private String title;
private String content;
private String publishTime;
private String modifyTime;
private BaseDao_USER user;//用户对象
private int uid;
private int boardid;
这个是实体类,存储的是个对象,这要怎么读取呢》?
展开
 我来答
问号等于不明白
推荐于2018-04-12 · TA获得超过446个赞
知道小有建树答主
回答量:248
采纳率:0%
帮助的人:191万
展开全部
list.add(toplc);
list.add(user);
首先你这一步就储存了2个对象
假设你这一步就循环了1次while (rs.next())
那么你list对象里面就储存了2次 一个是new BaseDao_TOPLC();另一个是 new BaseDao_USER();
当你想取出对象BaseDao_TOPLC这个实体
就是你那个list对象里面的第0个 代码就list.get(0) 返回的事OBJECT
在强转为你储存的类BaseDao_TOPLC 代码BaseDao_TOPLC as=(BaseDao_TOPLC)list.get(0);

但是如果你这一步不只循环了1次while (rs.next())
那么你LIST里面的数据就有2个类 不好处理 但也是可以搞定的
这里就不多说了 因为这样写代码是不好的习惯
建议你在集合里放实体类只有1个!!!
希望对你有帮助
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huiyade
2010-01-02
知道答主
回答量:12
采纳率:0%
帮助的人:0
展开全部
BaseDao_TOPLC topic = (BaseDao_TOPLC)list[0];
BaseDao_USER user = (BaseDao_USER )list[1];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kingzhyh
2010-01-03
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
遍历
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式