如何比较两种不同方法返回的两个值? Java的

时间:2015-12-19 08:12:09

标签: java compare equals

情况如下: 我有两个不同类的方法,

int getBoardPositionValue(int i, int j){ //from class Board
        return gameBoard[i][j];
    }

int getCoinNumber(){ //from class Coin
        return coinNumber;
    }

我想比较这两个值。但是,我不确定比较它们的正确方法是什么。

board.getBoardPositionValue(i, j)==coin.getCoinNumber() 

board.getBoardPositionValue(i, j).equals(coin.getCoinNumber())

或 还有其他办法吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

如果您比较引用(Objects),请使用.equals(),但如果您比较基本类型(intfloatdouble等... )你应该使用==
在您的情况下,您似乎正在比较ints,因此您可以毫无问题地使用==。(board.getBoardPositionValue(i, j) == coin.getCoinNumber()

此外:如果您想检查两个Object是否相同,那么您可以使用==,但是如果您想检查他们的内容< / em>您将要使用.equals()。例如,使用等于运算符(Strings)而不是==方法检查两个.equals()是否相等是错误的。
请查看此内容,了解在.equals()中使用==String的典型示例:

        String a = "abc";
        String b = "abc";

        // returns true because a and b points to same string object
        if(a == b){
            System.out.println("Strings are equal by == because they are cached in the string pool");
        }

        b = new String("abc");

        // returns false as now b isn't a string literal and points to a different object
        if(a == b){
            System.out.println("String literal and String created with new() are equal using ==");
        }else{
            System.out.println("String literal and String created with new() are not equal using ==");
        }

        //both strings are equal because their content is the same
        if(a.equals(b)){
            System.out.println("Two Strings are equal in Java using the equals() method because their content is the same");
        }else{
            System.out.println("Two Strings are not equal in Java using the equals() method because their content is the same");
        }

答案 1 :(得分:1)

对象A和对象B. username = transform.Find ("UsernameInputField/Text").GetComponent<InputField>().text; password = transform.Find ("PasswordInputField/Text").GetComponent<InputField>().text; 用于检查对象在引用方面是否相同。如果两个对象都引用相同的地址,则返回true。

A.equals(B)用于比较对象的相等性。如果两个对象具有相同的实例变量且实例变量的值相等,则返回true。 如果它们的实例变量具有相同的值,则相同类的对象是相等的。

基元: int a = 1;和int b = 3; A==B检查是否相等。在这种情况下,它返回false。