无法获取对象的属性

时间:2015-09-28 10:26:50

标签: java oop

我正在编写一个BigInteger类来处理Big Numbers。 我的BigInteger类有一个String变量number来保存数字的绝对值,还有一个整数变量sign来保存这个数字的符号。

这是我比较2个数字的功能:

public boolean equals(Object other)
    {
        if (other instanceof BigInteger)
            return toString().equals(other.toString()) && sign == other.sign;
        return false;
    }

然而,当我编译时,我收到此错误:

  

java:找不到符号符号:变量符号位置:   变量java.lang.Object类型的其他

任何人都可以修复此错误吗?谢谢

1 个答案:

答案 0 :(得分:4)

您需要将other投射到BigInteger

如果您没有投放other,则会认为Object类型没有属性sign(确切地说是您的错误)。

以下是代码:

public boolean equals(Object other) {
    if (other instanceof BigInteger) {
        return toString().equals(other.toString()) && sign == ((BigInteger) other).sign;
    }
    return false;
}