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 解决方法
如果右侧是您想要执行的副作用的功能(例如日志记录),它们非常有用.但是,我建议这是一个代码的气味,一定会对下一个人不直观.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |