我知道,例如,在Python中,如果我重新实现方法__ cmp __我正在修改==的行为.我认为同样的事情可以在Java中完成,重新实现equals(比如,当你重新实现toString,它会影响打印),但是......不,或者,我不知道如何(我在google搜索,似乎那,你不能)我是对的?equals不会影响== ?? 如果是这样,那等于什么?谢谢
Python的==运算符与.equals()Java 相同.您可以使用.__cmp__()Python和.equals()Java 覆盖它.
Python的is运算符与==Java中的运算符相同,并且这些运算符都不能被覆盖.
运算符==比较对象引用是否相等.该equals方法旨在执行值比较 - 例如,String如果您使用equals,则表示相同字符序列的两个不同对象将比较相等,但如果您使用则不会==.
据我所知,作为语言设计的问题,运算符重载被排除在Java之外.(为什么要建在过载语言设计者+在String博格尔斯我的脑海里.交通方便,是的,但IMO多数民众赞成作弊.)