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

How to compare two values which are returned from two different methods? Java

情况如下: 我有两种不同的方法 class,

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())

或 还有其他办法吗?

谢谢!

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

进一步:如果你想检查两个 Object 是否 相同 那么你可以使用 ==,但如果你想检查它们内容 你会想要使用 .equals()。例如,使用相等运算符 (==) 而不是 .equals() 方法检查两个 Strings 是否相等是错误的。
查看此以了解在 String:

中使用 .equals()== 的经典示例
        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");
        }

对象 A 和对象 B。 A==B 用于检查对象是否相同 reference.If 两个对象都引用相同的地址,它将 return 为真。

A.equals(B)用于比较objects.If两个对象是否有相同的实例变量且实例变量的值是否相等,则return 真的。 如果实例变量具有相同的值,则相同 class 的对象是相等的。

原语: int = 1;和 int b = 3; a==b 检查 equality.In 这种情况,它 return 是错误的。