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

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;
这个是实体类,存储的是个对象,这要怎么读取呢》?

第1个回答  推荐于2018-04-12
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个!!!
希望对你有帮助本回答被提问者和网友采纳
第2个回答  2010-01-02
BaseDao_TOPLC topic = (BaseDao_TOPLC)list[0];
BaseDao_USER user = (BaseDao_USER )list[1];
第3个回答  2010-01-03
遍历

java如何从List中取值
点击学习大厂名师精品课List的取值方式主要有两种:通过索引取值和通过foreach循环遍历取值。通过索引取值:List中的元素都有一个对应的索引,可以通过该索引访问该元素。Java中的List索引是从0开始的。因此,要访问第一个元素,索引为0,访问第二个元素,索引为1,以此类推。在Java中,可以使用get()方法...

JAVA里List里面有多个值我怎么取特定的值?
User user = (User)li.get(0); \/\/ 把i改成0就好了,说明你是取你list的第一个数据,你第一个数据就是zhangsan的 user.getAge(); \/\/ 这里得到一个值,你还可以通过user.getName等方法得到这个list中的所有有关张三的数据

Java中ArrayList里面存的是对象 怎么取出里面的对象并使用对象的...
你存的是一个对象的属性还是存了多个对象?如果存的是对象属性,那么只要创建一个对象并用ArrayList初始化就可以了,如果是多个对象,则创建一个对象数组,再用ArrayList初始化就可以了

Java两个装有对象的list如何简单的对比?去除其中不一样的元素
对的要双重循环才能做到两两比较。但是如果你不想两层for,且对元素顺序没有要求, 就直接用Set来做去重,需要你把每个元素的equals函数按你需要实现出来,有了这个Set会根据你的equals来判断是否重复。

java List集合如何使用两个实体类中的参数方法?
得到的不是list,list 而是一个新的list 里面的数据是你sql获取的属性 如果你用list接收 那么你只能接收到含有教师的属性

java 怎么在List取得指定的对象 要求不用FOR之类的循环
直到找到userid=1的时候再退出.package src;import java.util.ArrayList;public class Test { public static void main(String[] args) { ArrayList<User> li = new ArrayList<User>();User u1 = new User();User u2 = new User();User u3 = new User();User u4 = new User();User u5...

java中如何打印下面代码list里面的值?解决了加分!
1、如果list中是非对象组成的,一个一个的记录,则可以使用list.get(i)来循环管将其输出,其中i为for循环中的自增长变量,如下:for(int i=0;i<list.size();i++) System.out.println(list.get(i));2、如果list中是查找数据库保存的某一类中对象的值,一条或者多条,则需要先用该类的对...

java如何把list中的值取出来?
你这个是用toString打出来的吧?貌似是list里面放了一个对象,对象的属性是public的还是private的?如果是private的有没有get set方法?试下下面两个 System.out.println(queryList.get(0).getPassword());System.out.println(queryList.get(0).password);...

Java集合怎么通过集合存放的对象的某一个属性取出该对象
把这些对象从集合中一个一个地取出,与指定条件作比较。 for(Object obj : list) \/\/此处把Object替换成集合中对象的类型

Java如何获取List的某一个对象的某一条元素?
list可以直接获取位置项的元素list.get(index);这里的index就是位置取值范围是(0~list.size() - 1)而你想获取userlist中最后一个对象的User的name,可以 String name = userlist.get(userlist.size() - 1).getName();

相似回答