3 回答
TA贡献1848条经验 获得超6个赞
Python 的str类对其__eq__方法使用值相等。在 Python 中,类可以重写__eq__来定义==行为方式。
与 Java 相比,Java==总是执行引用相等。在 Java 中,仅当两个对象实际上是同一个对象时==才会返回;true无论其内容如何。Java 的运算符==与 Python 的运算符更具可比性is。
正如评论中指出的,更好的比较是比较这些:
"a".equals("a") // Java
"a" == "a" # Python
Java 的String类具有equals值相等性而不是引用相等性。
TA贡献1824条经验 获得超8个赞
在Python中==
用于通过重写运算符来比较对象的内容。eq (a, b)方法,str
类已重写此方法以便比较对象的内容
These are the so-called “rich comparison” methods. The correspondence between operator symbols and method names is as follows: x<y calls x.__lt__(y), x<=y calls x.__le__(y), x==y calls x.__eq__(y), x!=y calls x.__ne__(y), x>y calls x.__gt__(y), and x>=y calls x.__ge__(y).
但是在java中运算符在这里==
用来比较对象的引用
使用“==”运算符来比较文本值是 Java 初学者最常犯的错误之一。这是不正确的,因为“==”仅检查两个字符串的引用相等性,即它们是否引用同一对象。
因此,在java中要比较对象的内容,您必须使用equals
在类中被覆盖的对象String
。
if (str1.equals(str2))
所以java==
运算符等于is
python中的运算符,它比较两个引用是否指向同一个对象
TA贡献1853条经验 获得超6个赞
以下是引用其他的:“我们可以使用 == 运算符进行引用比较(地址比较),使用 .equals() 方法进行内容比较。简单来说,== 检查两个对象是否指向同一内存位置,而.equals() 计算对象中值的比较。”
添加回答
举报