通过扫描器的用户输入不匹配 if 语句

User input via scanner not matching if statement

我写了一些代码,应该从用户那里接收两个单词,如果它们匹配显示 "You have won" 但是它每次都只显示 "error"(我的 else 语句)即使它们匹配.我试图找出为什么 if 语句不检测它们是否匹配。

import java.util.*;
class testing{
  public static void main(String[] args){
  Scanner in = new Scanner(System.in); //start scanner
  System.out.println("Please enter word 1");
  String userWord =in.nextLine();
  System.out.println("Please enter word 2");
  String userGuessInput = in.nextLine();
    if(userWord == userGuessInput){
      System.out.println("You have won!");
    }
    else{
      System.out.println("error");
    }
 }
}

使用equals()比较字符串

if(userWord.equals(userGuessInput)){
      System.out.println("You have won!");
    }
    else{
      System.out.println("error");
    }

equals()比较变量的值和

== 测试引用相等性

Check