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(使用前将#替换为@)