当前位置: 首页 > 知识库问答 >
问题:

Scala中==和===之间的差异,Spark

夏侯智鑫
2023-03-14

我来自Java背景,刚接触Scala。

我正在使用Scala和Spark。但是我不明白我在哪里使用====

有人能告诉我在哪种情况下我需要使用这两个操作符吗?===之间有什么区别吗?

共有3个答案

拓拔安邦
2023-03-14

ScalaTest允许您使用Scala的断言语法,但定义了三重等于运算符(==),以提供更好的错误消息。以下代码将为您提供一个错误,仅表明断言失败:

相反,使用三重等于的assert(1==2)会给您提供更多信息的错误消息,“1不等于2”:

断言(1===2)

查看此页了解更多详细信息;Scala Koans中的==(三等分)运算符是什么?

宋高谊
2023-03-14

一般来说,它们只是函数。

对于不同的类型,“==”和“==”可能会被定义或“重载”以获得不同的含义。

例如,在某些测试框架中,为某些特殊功能定义了“==”。看看这个。

高皓
2023-03-14

=”使用的是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的一个重要区别是返回值。对于列:

>

  • ==返回一个布尔值

    ===返回一个列(包含两个列的元素比较的结果)

  •  类似资料:
    • 问题内容: 很快就有两个相等运算符:double equals( )和Triple equals( ),两者之间有什么区别? 问题答案: 简而言之: 操作员检查其实例值是否相等, 操作员检查引用是否指向同一实例, 长答案: 类是引用类型,可能有多个常量和变量在幕后引用类的同一单个实例。类引用保留在运行时堆栈(RTS)中,其实例保留在内存的堆区域中。当您控制平等时, 这意味着它们的实例是否彼此相等。

    • 我编写了一个简单的脚本,它接受任意数量的参数来演示< code>$@和< code>$*之间的区别: 在我做的 CLI 上 这就是打印出来的 因为它们是相同的,这是否意味着等于?还是我遗漏了一点?

    • 本文向大家介绍成本差异和进度差异之间的差异,包括了成本差异和进度差异之间的差异的使用技巧和注意事项,需要的朋友参考一下 对于任何应用程序或专门用于任何项目,最关注的因素之一是在开发前和开发后阶段的预算管理和时间管理。因此,要评估任何项目的这两个主要因素,有很多方法,其中成本差异和进度差异是两个重要且主要的方法。 顾名思义,“成本差异”基于项目开发中花费的成本,而“进度差异”则基于相同开发中花费的时

    • 问题内容: package main 该代码可以很好地工作。但是,如果按如下所示更改方法,则会导致死循环。区别在于将替换为。为什么? 问题答案: 因为程序包检查要打印的值是否具有方法(或换句话说:是否实现接口),如果是,则将调用它以获取值的表示形式。 软件包doc中对此进行了说明: […]如果操作数实现String()字符串方法,则将调用该方法将对象转换为字符串,然后根据动词的要求对其进行格式化(

    • 我正在通过做微控制器项目来自学C++。我当前的项目是使用一对或Adafruit羽毛分组无线电。无线电数据包的库函数需要一个C样式的字符串(我相信),我理解它是一个char的数组。 我已经设置了一个枚举来反映接收方的各种操作,并希望将该状态发送回发送方。所以我想把枚举变成char的数组。 在搜索将枚举转换为char数组的方法时,最简单的方法(对我来说)是将枚举变量传递给带有switch语句的函数,该

    • 我是Hadoop的新手。我正在浏览专业Hadoop解决方案的书,以获得一些关于Hadoop和生态系统的知识。我想澄清HDFS和HBase之间的主要区别是什么。我理解的方式就像两者都是存储系统。它们的区别只是在访问数据方面。HBase通过非关系型数据库访问数据,HDFS使用计算框架(MapReduce)处理数据。如果是这种情况,为什么我们不能只有一个存储HDFS或HBase。根据需求,他们将插入和插