There are several reasons to avoid using this method:
- It is optionally available only for result sets of type
ResultSet.TYPE_FORWARD_ONLY
. Database drivers will throw an exception if
not supported.
- The method can be expensive to execute as the database driver may need to fetch ahead one row to determine whether the current row is the last
in the result set. The documentation of the method explicitly mentions this fact.
- What "the cursor is on the last row" means for an empty
ResultSet
is unclear. Database drivers may return true
or
false
in this case .
ResultSet.next()
is a good alternative to ResultSet.isLast()
as it does not have the mentioned issues. It is always
supported and, as per specification, returns false
for empty result sets.