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

Java / Scala中的非短路逻辑(布尔)运算符有很好的用途吗?

发布时间:2020-12-14 05:18:29 所属栏目:Java 来源:网络整理
导读:我最近发现 Java(和Scala)包括非短路逻辑运算符 |和^.我以前认为这些只是作为按位运算符.虽然也许有一个论据^,我不能想到使用非短路逻辑运算符的很好的理由 – 尽管我可以设想一个例子. 这些操作符有用吗?他们似乎更有可能造成难以捉摸的错误. scala def fo
我最近发现 Java(和Scala)包括非短路逻辑运算符& |和^.我以前认为这些只是作为按位运算符.虽然也许有一个论据^,我不能想到使用非短路逻辑运算符的很好的理由 – 尽管我可以设想一个例子.

这些操作符有用吗?他们似乎更有可能造成难以捉摸的错误.

scala> def foo = {
     |   println("foo")
     |   true
     | }
foo: Boolean

scala> def bar = {
     |   println("bar")
     |   true
     | }
bar: Boolean

scala> foo || bar
foo
res5: Boolean = true

scala> foo | bar
foo
bar
res6: Boolean = true

解决方法

如果右侧是您想要执行的副作用的功能(例如日志记录),它们非常有用.但是,我建议这是一个代码的气味,一定会对下一个人不直观.

(编辑:李大同)

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

    推荐文章
      热点阅读