JAVA 中String类型的一点小问题
在main函数中;
Scannner scanner = new Scanner(System.in);
String p;
System.out.println(p = "System.out.print(a)");
String x = scanner.nextLine();
if(x == p){
System.out.println("Good!");
}else {
System.out.println("Erroe");
System.out.println(x);
System.out.println(p);
}
这样 控制台输入 System.out.print(a)
怎么都输出Error呢
对比完全一样啊。
[解决办法]
字符串比较用equals
import java.util.Scanner;
public class ScannerTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String p;
System.out.println(p = "System.out.print(a)");
String x = scanner.nextLine();
if (x.equals(p)) {
System.out.println("Good!");
} else {
System.out.println("Erroe");
System.out.println(x);
System.out.println(p);
}
}
}