我想在我的Java实例上快速执行等价性和布尔测试。如何在Java中实现与Python3代码等效的功能?(请注意,没有对任何属性的引用—只有实例本身)
test.py
class Number:
def __init__(self,n):
self.n = n
def __eq__(self, num):
return self.n == num
def __bool__(self):
return True
def main():
t = Number(10)
if t == 10:
print("Equivalency")
if t:
print("Boolean")
if __name__ == "__main__":
main()
输出
$ python3 test.py
Equivalency
Boolean
您不能重写
==
,也不能实现__bool__
等价物。然而,您最明确地应该覆盖equals()
(也可能是hashCode()
)。一切都将使用此equals方法来比较对象相等性。使用==
的唯一时间是,如果您想查看两个变量是否指向内存中的同一对象相关问题 更多 >
编程相关推荐