为什么字符串不相等?

pha*_*unk 5 java

可能重复:
字符串不等于字符串?

我是java的新手,我无法弄清楚这个代码块有什么问题.我知道数组不是null我在其他地方测试它.也许我习惯用c#编程的语法问题.

     Scanner input = new Scanner(System.in);
     System.out.println("Enter ID :");
     String employeeId = input.nextLine();
     int index =  -1;
     for(int i = 0 ; i < employeeCounter ; i++)
     {
         if(employeeId == employeeNumber[i])
         {
           index = i;
         }
     }

     if(index == -1)
     {
         System.out.println("Invalid");
         return;
     }
Run Code Online (Sandbox Code Playgroud)

我总是到"无效"部分.知道为什么吗?提前致谢


employeeNumber[0]"12345" employeeId"12345" ,但我可以,T进入第一个if语句虽然employeeId等于employeeNumber[0].

Joh*_*136 12

不要将字符串与==.

使用

if (string1.equals("other")) {
    // they match
}
Run Code Online (Sandbox Code Playgroud)

  • `"other".equals(string1)`是首选方式 - Null save. (2认同)

jue*_*n d 6

比较这样的字符串

if(employeeId.equals(employeeNumber[i]) {

}
Run Code Online (Sandbox Code Playgroud)