我正在编写一个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类型的其他
任何人都可以修复此错误吗?谢谢
答案 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;
}