scala – Array类型的奇怪行为
发布时间:2020-12-16 21:33:42 所属栏目:安全 来源:网络整理
导读:scala List(1,2,3) == List(1,3)res2: Boolean = truescala Map(1 - "Olle") == Map(1 - "Olle")res3: Boolean = true 但是当尝试使用Array做同样的操作时,它不起作用.为什么? scala Array('a','b') == Array('a','b')res4: Boolean = false 我使用了2.8.0.
scala> List(1,2,3) == List(1,3) res2: Boolean = true scala> Map(1 -> "Olle") == Map(1 -> "Olle") res3: Boolean = true 但是当尝试使用Array做同样的操作时,它不起作用.为什么? scala> Array('a','b') == Array('a','b') res4: Boolean = false 我使用了2.8.0.RC7和2.8.0.Beta1-prerelease. 解决方法
因为数组的“等于”的定义是它们引用相同的数组.
这与Java的数组相等性一致,使用Object.Equals,所以它比较引用. 如果要检查成对元素,则使用 Array('a','b').sameElements(Array('a','b')) 或deepEquals,它已经在2.8中弃用,所以改为使用: Array('a','b').deep.equals(Array('a','b').deep) array equality有一个很好的讨论. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- AngularJs中,如何在render完成之后,执行Js脚本
- unix – 如何区分“No such file or directory”和“Permis
- crontab每10秒执行一次的实现方法
- Angular 2 + 折腾记 :(4)初步了解路由及使用
- 【数据结构】 两个栈实现一个队列【面试】
- bootstrap 点击空白处popover弹出框隐藏实例
- 《数据结构》严蔚敏.吴伟民P63-65.循环队列
- 一些Bootstrap3 glyphicons没有正确显示在phonegap android
- 二、node (Express) Ejs Angular 移动端开发
- vim,使用Villa(无插件)快速切换文件