请教高手,遍历的一个问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 07:35:07
public static void main(String[] args) {
newsDao news=new newsDao();

List liq=news.findAllNews();
//News newsss=(News)liq.get(1);
for(int i=0;i<liq.size();i++){
News newss=(News)liq.get(i);
System.out.print(newss.getNewsID());
}

我写的遍历集合的循环是这样的,可是,读取出来的数据都是77777777777777
请问我应该怎么纠正?
读取的方法是这样的`
public List findNews(){
List list=new ArrayList();
String sql = "select top " + TOP + " * from news order by newsID desc ";
try{
conn=this.getConn();
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
while(rs.next()){
News news=new News();
news.setNewsID(rs.getInt("newsID"));
news.setTitle("title");
news.setContent("content");
news.setWriterDate("writerDate");
list.add(news);

程序没错。你检查你的集合取出来对不!

把for循环中的 News newss 声明放到循环外

这样用没错啊,里边外边都一样吧。或者你换成迭代器的方法试试。
Iteraotor it = liq.iterator();
while(it.hasNext()){
News newss=(News)it.next();
}

你传的代码没问题,是你写的方法有问题吧?