Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么不';这些字符串不匹配吗?_Java_Eclipse_String_If Statement_Match - Fatal编程技术网

Java 为什么不';这些字符串不匹配吗?

Java 为什么不';这些字符串不匹配吗?,java,eclipse,string,if-statement,match,Java,Eclipse,String,If Statement,Match,我得到的用户输入如下: Scanner keyboard = new Scanner(System.in); String input = keyboard.nextLine(); 当我这样比较的时候 if(input == "abc"){ System.out.println("Match!"); }else{ System.out.println(input + "\nabc"); } 如果我输入“abc”,我知道了 abc abc 而不是预期的匹配。发生了什么事?==正在比较

我得到的用户输入如下:

Scanner keyboard = new Scanner(System.in);
String input = keyboard.nextLine();
当我这样比较的时候

if(input == "abc"){
  System.out.println("Match!");
}else{
  System.out.println(input + "\nabc");
}

如果我输入“abc”,我知道了

abc
abc


而不是预期的
匹配
。发生了什么事?

==正在比较内存位置。您需要改用input.equals(“abc”)。

==正在比较内存位置。您需要使用input.equals(“abc”)。

您是在比较
String
引用,而不是
String
值。请改用
String.equals
方法。

您正在比较
String
引用,而不是
String
值。改用
String.equals
方法。

我认为这是一个重复。我在学习Java;从JavaScript开始——这对我来说是一个新概念。对不起,我们可以添加
哑问题
标记此问题不是哑问题。每个新手都会犯这个错误。不用担心,再加上@Pshemo所说的,大多数初学者都犯了一个错误,Java中的字符串被视为原语。这是由于它们的初始化方式以及运算符如何影响它们。我知道我也曾在那里,我得说那是个骗局。我在学习Java;从JavaScript开始——这对我来说是一个新概念。对不起,我们可以添加
哑问题
标记此问题不是哑问题。每个新手都会犯这个错误。不用担心,再加上@Pshemo所说的,大多数初学者都犯了一个错误,Java中的字符串被视为原语。这是由于它们的初始化方式以及运算符如何影响它们。我知道我也曾在那里。