Scala 中可以为 null 吗?

2024-02-07

我刚刚读过这个问题 https://stackoverflow.com/questions/9853645/并偶然发现了以下引用:

斯卡拉款待==就好像它在类中定义如下Any:

final def == (that: Any): Boolean = 
  if (null eq this) (null eq that) else (this equals that)

The (null eq this)这一部分让我想知道:真的可以在空指针上调用方法吗?能this be null在斯卡拉?


查看Scala 语言规范 http://www.scala-lang.org/docu/files/ScalaReference.pdf,即6.3 空值章节:

null 值的类型scala.Null,因此与每个参考兼容 类型。它表示一个参考值,指的是特殊的“null”目的。这个物体 实现类中的方法scala.AnyRef如下:

eq(x) and ==(x)如果参数返回 truex也是“空”对象。

ne(x) and !=(x)如果参数返回 truex也不是“空”对象。

这意味着从语义上来说,当你将某物与null字面意思或null文字与您实际上指的是特殊方法的东西scala.Null http://www.scala-lang.org/api/current/scala/Null.html班级。对待null文字作为该类的简写。

当然在实现层面它是优化的ordinary null用来。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Scala 中可以为 null 吗? 的相关文章

随机推荐

  • Java 8方法参考使用示例

    我正在查看一个示例 该示例从与方法引用相关的当前目录中提取隐藏文件数组 如下所述 using 匿名内部类执行 File hiddenFiles new File listFiles new FileFilter public boolean
  • 在 Silverlight 5 中合并 ResourceDictonaries 中使用样式

    我的 app xaml 中有很多样式 它们都在 SL5 应用程序的页面中使用得很好 我想将这些样式移至多个资源词典 以使其更易于管理和使用 首先 我将样式复制到项目中 Styles ButtonStyles xaml 页面中的新资源字典中
  • 如何从 Dart/Flutter 中的泛型函数调用命名构造函数

    我希望能够从通用函数内部构造一个对象 我尝试了以下方法 abstract class Interface Interface func int x class Test implements Interface Test func int
  • 显示光标下的文本

    当鼠标指针放置在元素上时 我想显示一些文本 例如 如果您将光标放在对某个答案的赞成票上 它会显示 此答案很有用 您可以在下图中看到它 我什至不知道如何搜索这个 Add a title属性 https developer mozilla or
  • 无法使用服务帐户授权连接到自己的 GAE 端点 API

    我一直在拼命尝试成功授权对我使用 OAuth2 和服务帐户从 python 脚本运行的 Google App Engine GAE 项目的 API 访问 我创建了服务帐户 将服务帐户 ID 添加到 api 文件中允许的客户端 ID 将私钥从
  • 从 Swagger 规范生成 nodejs

    所以我已经使用 swagger 编辑器记录了我的整个 API 现在我有了我的 yaml 文件 我真的很困惑我现在如何接受它并生成整个 Nodejs 内容 以便所有这些函数都已经定义 然后我只需用适当的代码填充它们 Swagger 代码生成器
  • 如何使用 ActiveRecord 将 DISTINCT ON 与 mysql 一起使用

    想要所有不同用户的所有最新访问 为此 我使用下面的查询 Event order time desc select DISTINCT ON user id user id time 出现 SQL 语法错误 ActiveRecord State
  • 如何在 Ansible 的 lineinfile 模块中的正则表达式中转义 1 个或多个空格?

    我正在使用 Ansible 在文件上设置一些变量lineinfile模块 我遇到的问题是如何拥有一个足够灵活的正则表达式以在字符串中间包含一些空格 请看下面 name Set DB IP in db conn file lineinfile
  • 使用正则表达式、组捕获和反向引用查找和替换

    我正在尝试在 SQL Server 2008 R2 Management Studio 中执行查找和替换操作 并使用组捕获 以便我可以在替换中反向引用组 我的理解是从this https stackoverflow com question
  • 如何在任意长度的sparql路径中使用Union/or?

    我使用下面的查询从 DBPedia 本体中查找具有城市域 或城市超类 或国家范围 或国家超类 的所有属性 当我使用固定长度的路径时没有问题但是当我把 要定义任意长度的路径 我收到此错误 Virtuoso 37000 错误 SP031 SPA
  • flutter 中的自定义时间轴视图

    我正在尝试制作自定义时间线视图 面临文本和圆圈对齐的问题 The Code Widget orderTimeLine return Container decoration BoxDecoration color Colors white
  • 数组类型 char[] 不可分配[重复]

    这个问题在这里已经有答案了 这是我的第一篇文章 我一直在尝试做这个选择选择的事情 我希望用户只选择数字而不是输入它们 更容易 但是当我希望数字等于字符串时 它会说 数组类型char 30 不可分配 即使在后面我是否放了分号 include
  • 在 SSMS 中快,在应用程序中慢 - 为什么这个数据集需要这么长时间才能填充?

    我有一个数据集 它是通过查询填充的 如下所示 SELECT DISTINCT ColA ColB ColC ColD ColE ColF dbo CustomFunction ColA AS ColG FROM TableA JOIN Vi
  • Laravel 邮件:传递字符串而不是视图

    我想使用 laravel 发送一封确认电子邮件 laravel Mail send 函数似乎只接受系统上文件的路径 问题是我的邮件模板存储在数据库中而不是系统上的文件中 如何将纯文本内容传递到电子邮件 Example content Hi
  • JSON 到 CSV 转换 (JavaScript):如何正确设置 CSV 转换格式

    我想将 JSON 响应转换为 CSV 格式 我能够弄清楚如何正确生成标头 将密钥的父项附加在一起以生成正确的标头 我遇到的问题是构造与每一行相对应的数据 例如 假设我将这些列称为id tags and friends id 接此案为id 1
  • scala 和 python 之间的 API 兼容性?

    我读了十几页文档 似乎是 我可以跳过学习 scala 部分 API完全用python实现 我不需要学习scala 交互模式与 scala shell 一样完整 快速 并且故障排除同样简单 像 numpy 这样的 python 模块仍然会被导
  • PHP Facebook Graph API 和完整或更大尺寸的帖子图像

    进行了一些搜索 但没有任何结果或者是旧的并且不起作用 我正在使用 graph api 获取 facebook 帖子并在我的网站上对其进行格式化 URL curl json 正在运行 但是 图片默认返回最小的 130x130 版本 我在每个帖
  • 如何在canvas对象上使用jquery uidraggable方法?

    我试图允许用户使用可拖动方法在画布元素周围移动矩形 这是我最初的想法 但行不通 我有一个小提琴设置在http jsfiddle net r2Zbe http jsfiddle net r2Zbe button click function
  • 为 Google 电子表格授权脚本会出现错误 401 returned_client

    我刚刚制作了一个简单的脚本来自动为我的谷歌电子表格复制和粘贴一些数据 但是 当我尝试运行脚本以授予授权时 我会看到正常的弹出窗口 但是当我 查看权限 时 我收到了以前从未见过的错误 通常我只是弹出我的谷歌帐户的身份验证 你认为这是为什么 任
  • Scala 中可以为 null 吗?

    我刚刚读过这个问题 https stackoverflow com questions 9853645 并偶然发现了以下引用 斯卡拉款待 就好像它在类中定义如下Any final def that Any Boolean if null e