Java - 从函数(String)返回int?

use*_*177 1 java string int return

我正在尝试创建一个函数,该函数将字符串作为函数并返回一个int.

public int convert (String input) {
    int x = -1;
    if (input == "one") {
        x = 1;
    }

    else if (input == "two") {
        x = 2;
    }

    else if (input == "three") {
        x = 3;
    }
    return x;
}
Run Code Online (Sandbox Code Playgroud)

问题是,(假设输入始终是三个输入之一),函数始终返回-1.我试过了:

  • 返回0而不是x
  • 和:

    public int convert (String input) {
    
      if (input == "one") {
         return 1;
      } 
      else if (input == "two") {
         return 2;
      }
      else if (input == "three") {
         return 3;
      }
      return -1;
    }
    
    Run Code Online (Sandbox Code Playgroud)

多谢你们.

kos*_*osa 11

一个问题是:

if (input == "one") 
Run Code Online (Sandbox Code Playgroud)

应该

if  ("one".equals(input)) 
Run Code Online (Sandbox Code Playgroud)

字符串/对象相等性检查应使用equals()方法而不是==(字符串文字比较除外)

== 检查参考相等性.

equals()根据equals()实现检查对象内容是否相等.