Не могу сравнить строки - PullRequest
0 голосов
/ 02 ноября 2019

Я не могу сравнить строку, возвращаемую из student.getUsername (), с жестко заданной строкой (она всегда ложна даже для правильных значений), но когда я использую обычную строку, а не ту, которая была возвращена из student.getUsername ()он может выполнить if block и вернуть «Login success». Я думаю, что значение, возвращаемое от student.getUsername (), не сравнимо с String. Я даже пытался .toString (), но не повезло. Пожалуйста, помогите.

 @PostMapping()
       public String setUser(@Valid @ModelAttribute("Student")Student student, Errors errors, 
          ModelMap model) {

            String user = "das";
            String pass  = "12345";

            if((student.getUsername()==user)&&(student.getPassword()==pass))return "loginSuccess";
            else return "loginFailure"

1 Ответ

1 голос
/ 02 ноября 2019

Вы должны использовать метод equals () для сравнения содержимого строк. == оператор в Java сравнивает адреса объектов, а не их содержимое: <</p>

...