//java 中 对于有返回值的语句是必须要赋值给一个对象的。
//也就是说
//这个语句是编译不过的
1==1;
// 这样通过短路的方式去简化 if 语句是不行的
1==2&&method();
//所以对于没有返回值的 if 语句只能老实的写成
if(1==2)
method();
//但是这样的话如果放到 lamda 表达式中就会让语句变得很复杂
//理想状态 1
list.foreach(val->1==2&&method(val));
//理想状态 2 这里的 void 表示没有任何操作,java 也不支持这种空操作
list.foreach(val->1==2?method(val));
list.foreach(val->1==2?method(val):void);
//现实
list.foreach(val->{
if(1==2)
method(val);
});
所以有什么更好的办法吗?