如果我有一段代码
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。我知道这是真是假但我无法理解为什么。我错过了一些大脑信息。有人可以一步一步地为我咀嚼吗? 先谢谢!
答案 0 :(得分:0)
您的login
方法返回boolean
,只能是true或false。看一下该方法的最后一行:
return rs.next();
请注意您如何在next()
上返回调用rs
的结果值?在您的代码中,rs
是ResultSet
。您可以查看java api docs以查找next()
返回
如果新的当前行有效,则为true;如果没有更多行,则为false