我正在尝试比较两个String,以检查扫描仪输入中的值是否相同。问题是在输入两个值之后,输出就是说两个字符串不一样。
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
String testOne = "";
String testTwo = "";
Scanner input = new Scanner(System.in);
testOne = input.next();
Scanner inputOne = new Scanner(System.in);
testTwo = inputOne.next();
System.out.println("Before comapring: testOne = " + testOne + "\t testTwo = " + testTwo +"\n");
if(testOne == testTwo){
System.out.println("The same");
System.out.println("After comparing: TestOne = " + testOne + "\t testTwo = " + testTwo);
}
else{
System.out.println("Not The same");
System.out.println("After comparing: testOne = " + testOne + "\t testTwo = " + testTwo);
}
}
}
我尝试过多次输入,结果总是不一样。
任何想法都会受到赞赏。
答案 0 :(得分:0)
他们不是相同的。它们是不同的实例,所以==运算符会提到这一点。但是,testOne.equals(testTwo)
应该这样做,因为这不会比较指针而是比较值。