简单的登录验证时遇到的问题
public boolean chekInfo(HttpServletRequest request, HttpServletResponse response){
String userName=request.getParameter("userName");
String passWord=request.getParameter("passWord");
return boolean f=Util.getUser()==user&&Util.getMima()==mima?true:false; <-------
//Util 这里是一个工具类 这里用于获取数据登录信息
}
当采用"=="号时,这里的f无论后面的信息正确与否 都是返回的false
将其替换为equals 可正确验证
错误原因 : 1."==" 用作比较基本类型时,比较的是他们的值/比较字符串等复合类型时,比较的是他们的地址(此处又牵连到常量池,字符串的相关信息,读者自查)
2."equals()"比较的是对应值