Scala、Java 和平等

2024-01-31

val filesHere = (new java.io.File(".")).listFiles
val filesHere2 = (new java.io.File(".")).listFiles

scala> filesHere == filesHere2
res0: 布尔值 = false

这是相当违反直觉的。我宁愿期望 filesHere 和 filesHere2 是相等的。

这肯定是由于 Java 和 Scala 之间的语义不匹配造成的,例如,关于数组或(文件)相等性。显然,我在这里遗漏了一些东西!


如果我统治世界,我会弃用 Scalaeq方法,因为名称是极其容易与 equals 和 == 混淆。相反,英语确实有一个词表达身份而不是平等:我简单地称之为is .

同样我会替换Scala的ne(这是一个可怕的名字,因为它既是缩写又难以理解)isnt .

在我看来,即使在这个后期阶段,这些实际上也可以添加到 AnyRef 中,并且旧方法已被弃用。

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

Scala、Java 和平等 的相关文章

随机推荐

  • C# 在 application.run() 之后执行代码

    我有一个与此类似的问题 表单启动后如何执行代码 https stackoverflow com questions 4100428 how can i execute code after my form starts 但那里的解决方案对我
  • 是否可以将 Protobuf-Net 与没有无参数构造函数的类一起使用?

    使用 Protobuf Net 我发现在没有无参数构造函数的情况下似乎不可能反序列化一个类 或者我可能会丢失一些东西 我不想要一些带有无参数构造函数的类 我可以使用某种属性或其他技术吗 protobuf net 目前依赖于无参数构造函数的工
  • 缩略图/图像缓存文件?

    为了为我正在编写的应用程序提供更好的安全性和隐私性 我将删除在 Android 设备上找到的图像和图片 因此 我很想知道操作系统是否创建了任何缓存 缩略图文件 例如 以便图库应用程序可以在处理完整的实际文件之前显示快速预览 如果创建了此类文
  • 关于Python Flask 500 Internal Server Error的问题

    这是我的Python代码 from flask import Flask render template app Flask name app route profile
  • 逐渐淡化图片

    此功能的想法是仅淡化图片的上半部分 使其逐渐变暗 这是我所拥有的 但它似乎使所有上半部分变成纯黑色 def fadeDownFromBlack pic1 w getWidth pic1 h getHeight pic1 for y in r
  • 为什么我的 Heroku 应用程序无法在生产环境中使用 Sendgrid 发送电子邮件?

    我的设计电子邮件在开发中运行良好 但现在我已经推送到 Heroku 并正在使用 sendgrid 插件 它们没有被发送 我没有收到错误 看起来它发送得很好 只是它从未真正到达我的收件箱 这是我的config environment prod
  • 按最大日期分组

    我在执行这段代码时遇到问题 SELECT FROM tblpm n WHERE date updated SELECT MAX date updated FROM tblpm GROUP BY control number HAVING c
  • SQL Server 对 OrmLite 的特定类型支持

    我刚刚了解了一种天才类型 它可以简化我的很多工作 但看起来我喜欢的 ORM 无法识别它 有没有办法让 ServiceStack OrmLite 识别HierarchyId在 SQL Server 中 关于要修改哪些文件的任何建议以及如何继续
  • 停止 Xcode 自动为 Objective-C 标头生成 Swift 接口

    是否可以在显示 Objective C 标头时阻止 Xcode 8 自动生成 Swift 界面 例如通过设置用户默认值 从理论上讲 这是 Xcode 的一个非常好的功能 不幸的是它不能可靠地工作 对我来说 大多数时候它甚至似乎都失败了 由于
  • 在 Python 中重新启动线程

    我正在尝试为 Python 3 4 中的一个项目制作线程飞行软件 其中我需要线程自行重新启动 以防在传感器读取期间发生 I O 错误或类似的意外崩溃 因此 我正在努力制作一个看门狗来检查线程是否已死亡并重新启动它们 起初 我尝试检查线程是否
  • CSS最后一行没有结束标记“;”的原因是什么? [复制]

    这个问题在这里已经有答案了 我使用 CSS 一段时间了 我发现在很多教程和练习中 CSS 标记的最后一行没有 添加到其中 例如 ul li hover ul display block ul li ul list style none po
  • 尝试在 Heroku 上部署 Node.js/Express/Socket.io 应用程序时出现应用程序错误

    我对所有这些技术 包括一些 JavaScript 都相当陌生 所以你可能需要耐心听我说 我相当仔细地遵循了 Socket IO 文档中的 ChatApp 教程 并根据我的喜好对应用程序进行了一些修改 然而 我认为我在服务器交互和其他方面没有
  • 如何使用 JavaScript 创建 zip 文件?

    我发现了一个可以生成zip文件的javascript插件 它的名字叫jszip https stuk github io jszip 我尝试过 但我认为它只能生成将在 zip 文件中编译的文件 我想要的是能够将现有文件添加到它将生成的 zi
  • SQLite 的 DLL 地狱

    我们的一些用户遇到了运行时加载的 sqlite interop dll 版本的问题 这确实令人头疼 背景 为 AnyCPU 构建的 WPF 应用程序 使用 SQlite NET 和 sqlite interop dll 版本 1 0 89
  • 如何叠加两个geom_bar?

    我正在尝试覆盖 2 个条形图geom bar源自 2 个独立的 data frames dEQ lab perc 1 lmP 55 9 2 lmN 21 8 3 Nt 0 6 4 expG 5 6 5 expD 0 0 6 prbN 11
  • 如何使用 java.util.logging 对齐日志消息

    有人可以发布如何实现日志消息对齐 10 14 31 main package1 Class1
  • 在linux上,如何检查端口是否处于监听状态而不尝试连接

    如何使用 C 检查本地计算机上的端口 如果也需要传递 IP 或接口 是否处于侦听状态 我不想连接到这个端口进行检查 因为我不想激怒这个端口后面的服务 我想用它来将缺少的 net tcp listen 项目添加到 Zabbix 编辑 这是真正
  • 如何在多列上创建全文索引?

    我正在运行以下查询tbl query select from tbl query q where match q query desc q query desc details against test1 WITH QUERY EXPANS
  • 分配对象的严格别名规则

    C99 6 5 6 访问其存储的对象的有效类型 value 是对象的声明类型 如果有 75 如果通过类型将值存储到没有声明类型的对象中 左值的类型不是字符类型 则类型为 左值成为该访问的对象的有效类型 以及不修改存储值的后续访问 如果使用将
  • Scala、Java 和平等

    val filesHere new java io File listFiles val filesHere2 new java io File listFiles scala gt filesHere filesHere2res0 布尔值