有一段程序不是明白,请各位指教,分不够就加!!!
List results = login.executeQuery("select * from admin");
Iterator it = results.iterator();
while(it.hasNext())
{
Admin admin = (Admin)it.next();
out.print(admin.getUserName());
out.print(admin.getPassword()+"<br>");
}
这段程序的大体意思我懂,但是具体的内容我就不是很明白了,特别是
“Admin admin = (Admin)it.next(); ”谁能给逐行地解释一下具体的意思,呵呵,小弟刚刚开始学,有太多的东西不懂,希望大家不要笑话,不吝赐教,如果分不够我立刻就加,谢谢!
------解决方案--------------------你也可以用泛型 这样写
Java code
//加上泛型标签
List <Admin> results = login.executeQuery("select * from admin");
Iterator <Admin> it = results.iterator();
while(it.hasNext())
{
Admin admin = it.next(); //这样 这里就不用强制转换了
out.print(admin.getUserName());
out.print(admin.getPassword()+" <br>");
}
------解决方案--------------------
List results = login.executeQuery("select * from admin");//sql查询的结果放在list里
Iterator it = results.iterator(); //取得list对象的Interator迭代器
while(it.hasNext()) //是否还能迭代到下1位置,是否==results.size()
{
Admin admin = (Admin)it.next(); //返回next最后访问到的results元素,由于List中对象的类型被忽略
//所以实际List里保存的对象类型为Object,要将其还原为实际Admin类型
//需要使用不安全的向下转型
out.print(admin.getUserName());
out.print(admin.getPassword()+" <br>");
}
可能楼主的jdk还没有泛型。不然就用三楼的,很直观。
------解决方案--------------------//查询得到结果放list里面
List results = login.executeQuery("select * from admin");
//建立游标用于遍历List结果集
Iterator it = results.iterator();
while(it.hasNext()) //如果有下一个,就是List还没遍历完
{
//获得List中下一个值,并通过强制转化成Admin
Admin admin = (Admin)it.next();
//输出。。。
out.print(admin.getUserName());
//输出。。。
out.print(admin.getPassword()+" <br>");
}