**ResultSet中的next()与迭代器(itetator)中的hasnext()及next()的区别
boolean next() throws SQLException | 将光标从当前位置向前移动一行。 ResultSet光标最初位于第一行之前; 第一次调用方法next使第一行成为当前行; 第二个调用使第二行成为当前行,依此类推。 |
---|---|
E next() | 返回迭代中的下一个元素。 |
boolean hasNext() | 如果迭代具有更多的元素,则返回true 。 (换句话说,如果next()返回一个元素而不是抛出一个异常,则返回true ) |
根据以上信息,我们可以得出结论:ResultSet接口中的next()综合了两者的作用,即指向了下一个元素,也判断了它是否为空。不论是迭代器还是游标(ResultSet中next()的原理),类似于光标一样的东西,指向的都不是第一个元素,而是指向第一个元素之前的位置,当调用时,才指向第一个位置,以此类推。
**