public void updateUserPassword(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String oldPass = request.getParameter("oldPassword");
String newPass = request.getParameter("newPassword");
String passAgain = request.getParameter("passwordAgain");
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
User user = (User)request.getSession().getAttribute("user");
if(!oldPass.equals(user.getPassword()) ){
System.out.println(1);
out.print("0");
return;
}//方法1:是对的
if(newPass != passAgain ){
System.out.println(2);
out.print("0");
return;
}// 方法2:是错的
if(bo.updateUserPassword(newPass, user.getId())){
out.print("1");
}else{
System.out.println(3);
out.print("0");
}
}
我想问的问题是,我获得参数的类型是String类型。为什么我要判断两个String类型数是否相等,用==或!=为什么不行。只能用equals方法
throws ServletException, IOException {
String oldPass = request.getParameter("oldPassword");
String newPass = request.getParameter("newPassword");
String passAgain = request.getParameter("passwordAgain");
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
User user = (User)request.getSession().getAttribute("user");
if(!oldPass.equals(user.getPassword()) ){
System.out.println(1);
out.print("0");
return;
}//方法1:是对的
if(newPass != passAgain ){
System.out.println(2);
out.print("0");
return;
}// 方法2:是错的
if(bo.updateUserPassword(newPass, user.getId())){
out.print("1");
}else{
System.out.println(3);
out.print("0");
}
}
我想问的问题是,我获得参数的类型是String类型。为什么我要判断两个String类型数是否相等,用==或!=为什么不行。只能用equals方法
那是在我们new出来时候用equals方法。
String a = new String("hello");
String b = new String("hello");
这时候判断两个对象是否相等用equals方法
但我们这样定义String类型,可以用==或!=也可以用equals方法
String a = "hello";
String b = "hello";