与扫描仪字符串输入进行比较

时间:2013-05-31 01:37:49

标签: java string comparison

我正在尝试比较两个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);
        }   
    }
}

我尝试过多次输入,结果总是不一样。

任何想法都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

他们不是相同的。它们是不同的实例,所以==运算符会提到这一点。但是,testOne.equals(testTwo)应该这样做,因为这不会比较指针而是比较值。