[英]Difference between == and === in Scala, Spark
我來自 Java 背景並且是 Scala 的新手。
我正在使用 Scala 和 Spark。 但我無法理解我在哪里使用==
和===
。
誰能告訴我在哪種情況下我需要使用這兩個運算符, ==
和===
之間有什么區別?
“ ==
”使用equals
方法檢查兩個引用是否指向同一個對象。 “ ===
”的定義取決於上下文/對象。 對於 Spark ,“ ===
”使用的是equalTo
方法。 看
==
https://spark.apache.org/docs/2.0.0/api/java/org/apache/spark/sql/Column.html#equals(java.lang.Object)===
https://spark.apache.org/docs/2.0.0/api/java/org/apache/spark/sql/Column.html#equalTo(java.lang.Object)(因為您引用的是 Spark :)Spark 的一個重要區別是返回值。 對於列:
==
返回一個布爾值
===
返回一列(其中包含兩列元素的比較結果)
ScalaTest 允許您使用 Scala 的斷言語法,但定義了一個三等號運算符 (===) 以提供更好的錯誤消息。 下面的代碼會給你一個錯誤,表明斷言失敗:
assert(1 == 2) 改用三重等於會給您提供更多信息的錯誤消息,“1 不等於 2”:
斷言(1 === 2)
查看此頁面了解更多詳情; Scala Koans 中的 === (triple-equals) 運算符是什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.