Java 语法糖的探讨: 如何简化没有 else 的 if 语句写法
資深大佬 : rizon 3
//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); });
所以有什么更好的办法吗?
大佬有話說 (20)