[英]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.