加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala 2.8正确处理Boolean和java.lang.Boolean?

发布时间:2020-12-16 08:57:17 所属栏目:安全 来源:网络整理
导读:考虑以下: scala val a:java.lang.Boolean = truea: java.lang.Boolean = truescala val b = trueb: Boolean = truescala a == bres4: Boolean = truescala b == aconsole:8: warning: comparing values of types Boolean and java.lang.Boolean using `=='
考虑以下:

scala> val a:java.lang.Boolean = true
a: java.lang.Boolean = true

scala> val b = true
b: Boolean = true

scala> a == b
res4: Boolean = true

scala> b == a
<console>:8: warning: comparing values of types Boolean 
and java.lang.Boolean using `==' will always yield false
       b == a
         ^
res5: Boolean = true

警告说它会产生错误,但它会产生真实的结果.

斯卡拉2.8.

解决方法

一些源代码控制考古学表明,在2.8.1之后,这些警告的处理得到了改进.以下是对这些警告的单元测试的注释修订版.

https://lampsvn.epfl.ch/trac/scala/browser/scala/trunk/test/files/neg/checksensible.scala?annotate=blame&rev=25638

这与2.8.1 final中的rev 19169相比,它更基本:

https://lampsvn.epfl.ch/trac/scala/browser/scala/tags/R_2_8_1_final/test/files/neg/checksensible.scala

我认为这给人一种感觉,即在2.8.1之后为此提供了更多关注.

看一些错误报告,警告似乎就是这样 – 希望有助于识别错误.如果您知道自己在做什么(例如比较java Boolean和scala布尔值),那么您可以忽略.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读