我有两种方法old('fieldname')
和boolean foo1()
。如果其中至少有一个是boolean foo2()
,那么我需要致电true
。但是我需要两个函数来运行。
如果我写save()
,那么由于if (foo1() || foo2()) {save()}
的工作方式,foo2()
将无法运行。
目前我写
||
但这不是很优雅。
我错过了一些明显的东西吗?
答案 0 :(得分:3)
您应该使用if (f1 | f2) { }
运算符(请参阅JLS):
&
请注意,同样适用于if (returnFalse() & returnTrue()) {
destroyTheWorld();
}
。例如,如果你写:
|
然后两种方法都会运行,但世界是安全的。
请注意,不熟悉f1 = method1();
f2 = method2();
if (f1 || f2) {
// ...
}
运算符的程序员可能认为它是一个拼写错误,可能会添加另一个管道。确保记录好或简单:
<ion-content has-header="false">
<div class="row no-padding">
<div class="col dashboard-top-item center">
<div class="ion-ionic"></div>
<div>Second line</div>
</div>
</div>
</ion-content>
答案 1 :(得分:3)
你确实错过了一些明显的东西。
使用||
而不是boolean
。
前总是评估两个参数,适用于{{1}}类型。但它并不是特别惯用 - 因此很容易受到过度热情的重构者的改变 - 所以我建议你使用评论,或者保留你所谓的不优雅的代码,因为它确实为你提供了隐含的清晰度,我的华丽解决方案缺乏。
答案 2 :(得分:1)
使用按位运算符:|
。
这将保证对两个术语进行评估,因此在您的情况下执行这两种方法。
if (foo1() | foo2()) {save()}
答案 3 :(得分:1)
您可以使用|
运算符。
只是做:
if (f1 | f2) {save()}