Scanner.nextLine 输入无法匹配字符串

Scanner.nextLine input can't match String

我在使用 Scanner.nextline() 时遇到了一些问题,在我尝试将输入与相应的字符串进行比较之前,它似乎工作正常而且很花哨。 我基本上想看看一些输入是否等于数组(团队)中的某个元素。这是我的代码和输出:

package teams;

import java.util.Arrays;
import java.util.Scanner;



class TeamTable2 {
     static String[] teams = new String[] {  
         "Team A", "Team B", "Team C",
         "Team D", "Team E"
     };

     // inArray returns true if an specified string is "in" an specified array
     static boolean inArray(String thing, String[] array){ 
         boolean in = false;
         for(int i = 0; i < array.length; i += 1){
             if(array[i] == thing){
                 in = true;
             }
         }
        return in;
     }

     static void inputInArray(){
         Scanner userInput = new Scanner(System.in);
         String inputTeam = null;

         // The while loop continues if the input doesn't match any element
         while(!inArray(inputTeam, teams)){
             System.out.println("Team: ");
             inputTeam = userInput.nextLine();
             System.out.println("");
             if(!inArray(inputTeam, teams)){
                 System.out.println("Not in array: " + inputTeam + ",   length: " + inputTeam.length());
         }
         }
     userInput.close();
 }    

public static void main(String args[]){
    System.out.println("'Team A' in teams: " + inArray("Team A", teams));
    inputInArray();

}
}

输出:

'Team A' in teams: true
Team: 
Team A  //My Input

Not in array: Team A, length: 6
Team: 

很明显,输出的长度正确,当我在 inArray 方法中使用纯字符串 "Team A" 时,它 returns 为真,所以我不明白为什么不解释输入作为在数组中?

这是错误的 if(array[i] == thing){,对字符串使用等号:if(array[i].equals(thing)){。 Panda 你真的应该学会区别:)