对象比较:地址与内容

Jos*_*osh 1 java

嘿伙计我只是搞乱了,我不能让这个工作:

public static void main(String[] args){
    Scanner input = new Scanner (System.in);
    String x = "hey";
    System.out.println("What is x?:  ");
    x = input.nextLine();
    System.out.println(x);
    if (x == "hello")
        System.out.println("hello");
    else
        System.out.println("goodbye");
}
Run Code Online (Sandbox Code Playgroud)

它当然应该打印你好hello如果你输入你好,但它不会.我正在使用Eclipse来搞砸.请快点帮忙

MBy*_*ByD 5

应该if (x.equals("hello")).

使用java对象,==用于参考比较..equals()用于价值比较.

  • 或者null-safe:`"hello".equals(x)` (5认同)
  • 这不是"怪异的",它是用Java完成的.它与Eclipse无关;) (2认同)
  • 这不是关于`scanner`或if语句,而是关于Java中的对象比较. (2认同)