不好意思,上面的代码有bug,迭代那里应该是用list来做循环的。修改代码如下public Student[] findStudents(Connection con, int age) throws SQLException{
String sql="select id,name,age from student where age>18";
Statement state=con.createStatement();
ResultSet rs=state.executeQuery(sql);
List list=new ArrayList();
int i=0;
while(rs.next()){
//查出学生
Student stu=new Student();
stu.setId(rs.getInt(0));
stu.setName(rs.getString(1));
stu.setAge(rs.getInt(2));
//添加到集合
list.add(stu);
i++;
}
//声明数组,大小等于集合
Student[] students=new Student[list.size()];
//把元素从数组填充到集合
Iterator iter=list.iterator();
int i=0;
while(iter.hasNext()){
Student student=(Student)iter.next();
students[i]=student;
i++;
}
//结束查询
rs.close();
state.close();
con.close();
return students;
}