结果是对还是错,为什么

时间:2016-12-02 22:26:14

标签: java mysql if-statement

如果我有一段代码

public boolean login(String username, String pass) throws SQLException{
Connection conn = connect();
PreparedStatement st = conn.prepareStatement("select * from users where ime = ? and sifra = ?");
st.setString(1, username);
st.setString(2, pass);
ResultSet rs = st.executeQuery();
return rs.next();
}

和另一个

if(login(creds[0], creds[1]))

为什么“if”语句的结果为true或false。我知道这是真是假但我无法理解为什么。我错过了一些大脑信息。有人可以一步一步地为我咀嚼吗? 先谢谢!

1 个答案:

答案 0 :(得分:0)

您的login方法返回boolean,只能是true或false。看一下该方法的最后一行:

return rs.next();

请注意您如何在next()上返回调用rs的结果值?在您的代码中,rsResultSet。您可以查看java api docs以查找next()返回

  

如果新的当前行有效,则为true;如果没有更多行,则为false