【发布时间】:2014-06-02 13:08:36
【问题描述】:
为什么这个比较结果是true?
scala> Double.NaN equals java.lang.Double.NaN
res5: Boolean = true
但是这个结果是false?
scala> Double.NaN == java.lang.Double.NaN
res6: Boolean = false
aside:this 有趣的 Twitter 帖子提示我问了这个问题
【问题讨论】:
-
它们的值相等,但它们的实例不相等。
-
@Obicere,您能否扩展您的答案并解释其中哪个运营商在进行参考比较,哪个运营商在进行价值比较?
-
关于 scala 语言别名的一些讨论:groups.google.com/forum/#!msg/scala-language/LJGpb1wDjI4/…
-
嘿@AmigoNico。抱歉耽搁了。感谢您的详细解答
-
没问题,凯文——很高兴它有帮助!