Java 结果集从查询转换为int

Java 结果集从查询转换为int,java,sql,jakarta-ee,resultset,Java,Sql,Jakarta Ee,Resultset,因此,我尝试从一个sql查询中获得count结果,如下所示 ResultSet rs = st.executeQuery("SELECT count(employeeID) FROM employee WHERE " + "employeeID='"+_empID+"' AND password = '"+_password + "'"); 所以我也试着把这个值转换成int,我试着 for (; rs.next();) { val = (Integer) r

因此,我尝试从一个sql查询中获得count结果,如下所示

ResultSet rs = st.executeQuery("SELECT count(employeeID) FROM employee WHERE " +
                "employeeID='"+_empID+"' AND password = '"+_password + "'");
所以我也试着把这个值转换成int,我试着

 for (; rs.next();) {
val =  (Integer) rs.getObject(1);
}
我也试过了

val = Integer.parseInt(rs.getObject(1));
但我没有得到以下错误

无法将java.lang.Long转换为java.lang.Integer

我该怎么做。。如果它返回0,3或4,它就变成了一个整数

多谢各位

编辑为:(仍在获取错误)

long countLong=0;
对于(;rs.next();){
countLong=rs.getLong(1);
}
if(countLong<1)
{
isAuthentic=false;
}
其他的
{
isAuthentic=true;
}

使用
ResultSet.getLong
方法:

long countLong = resultSet.getLong(1);
//if you really want and you are sure that it fits you can now cast
int count = (int)countLong; 

当您不确定确切的数字类型时,使用的一个好技巧是将其强制转换为所有数字类型的父类,
number

val =  ((Number) rs.getObject(1)).intValue();

这将适用于所有数字类型,例如
float
long
int
等。

尝试使用getString()然后使用long.parseLong()。

将其转换为字符串,然后转换为int或long或任何您想要的值:

Integer.parseInt(rs.getObject(1).toString());

这个问题已经问过了,看一看。你好,乔恩,这对我没有帮助。。我需要知道如何获取结果集(数据库)的值,然后使其成为我可以用来评估的内容。我仍然会收到错误java.lang.ClassCastException:java.lang.Long无法转换为java.lang.Integer(请参见我如何修改代码)@user710502:您的代码现在已经正常了。也许你错过了重新编译?请附上stacktrace。谢谢你对zacheusz的帮助
Integer.parseInt(rs.getObject(1).toString());