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() 計算對象中值的比較?!?/p>
添加回答
舉報