weixin_44834061 2021-09-24 17:11 采纳率: 0%
浏览 21
已结题

关于#java#的问题:运行testEqual方法,会进入if语句,输出登录失败和密码错误

public class LoginServletTest {
    @Test
    public void testEqual(){
        String username = "super";
        String password = "123";
        User loginUser = new User();
        UserDao loginDao = new UserDao();
        loginUser.setUsername(username);
        loginUser.setPassword(password);
        User user = loginDao.login(loginUser);
       if (user.getUsername() != username) {
            System.out.println("登录失败");
        }
        if (user.getPassword() != password) {
            System.out.println("密码错误");
        }
    }
}

public class  UserDao {
     private JdbcTemplate jdbcTemplate = new JdbcTemplate(new JDBCUtil().getDataSource());

    public User login(User loginUser){
        String sql = "SELECT * FROM user WHERE username = ? and password = ?";
        User user = jdbcTemplate.queryForObject(sql,
                                                new BeanPropertyRowMapper<User>(User.class),
                                                loginUser.getUsername(),loginUser.getPassword());
        return user;
    }
}

public class User {
    private int id;
    private String username;
    private String password;

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

img

  • 写回答

1条回答 默认 最新

  • 关注

    字符串比较要使用.equals()方法,而不能直接用等号,等号判断是判断两者的地址,必然返回false
    有帮助望采纳~

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月24日
  • 创建了问题 9月24日

悬赏问题

  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真