简短的if语句中的Java运行方法
是否有任何方法可以运行void方法(简称if语句)?例如,如果简短的if语句中的Java运行方法,java,if-statement,Java,If Statement,是否有任何方法可以运行void方法(简称if语句)?例如,如果myValue设置为true,我想修改myList(它是类字段) 它(如果myMethod返回列表)适用于: 是否可以像这样运行它(如果myMethod无效): 然后仅在myMethod中修改myList?不,您不能。三元运算符b?x:y(其中b、x和y是语句)计算结果为某物 b必须计算为布尔值 x必须计算为一个值(原语或对象) y必须计算为与x 语句作为一个整体计算为与x和y类型相同的值 我想你可以想象一种语言,当x和y的计算结
myValue
设置为true
,我想修改myList
(它是类字段)
它(如果myMethod
返回列表)适用于:
是否可以像这样运行它(如果myMethod
无效):
然后仅在
myMethod
中修改myList
?不,您不能。三元运算符b?x:y
(其中b、x和y是语句)计算结果为某物
必须计算为布尔值b
必须计算为一个值(原语或对象)x
必须计算为与y
x
- 语句作为一个整体计算为与
和x
类型相同的值y
x
和y
的计算结果不等于某个值时,语句b?x:y
也不会计算为某个值。在那种语言中,r=b?当r=x
或r=y
是非法语句时,x:y
将是非法语句
但是Java不是那种语言。在Java中,三元运算符总是必须返回某些内容(即使不使用结果),因此它的第二个两个操作数也必须返回
将三元运算符称为“short if语句”是不正常的
在您的用例中,使用
if
和else
不,你不能。三元运算符b?x:y
(其中b、x和y是语句)计算结果为某物
必须计算为布尔值b
必须计算为一个值(原语或对象)x
必须计算为与y
x
- 语句作为一个整体计算为与
和x
类型相同的值y
x
和y
的计算结果不等于某个值时,语句b?x:y
也不会计算为某个值。在那种语言中,r=b?当r=x
或r=y
是非法语句时,x:y
将是非法语句
但是Java不是那种语言。在Java中,三元运算符总是必须返回某些内容(即使不使用结果),因此它的第二个两个操作数也必须返回
将三元运算符称为“short if语句”是不正常的
在您的用例中,使用
if
和else
否。Java语言不允许这样做。来自Java语言规范:
这是第二个或第三个的编译时错误
操作数表达式是对void方法的调用
否。Java语言不允许这样做。来自Java语言规范: 这是第二个或第三个的编译时错误 操作数表达式是对void方法的调用
为什么不直接执行显而易见的和
if(yourconment){runWhateverCodeYouLike();}
?三元运算符(cond?value1:value2
)不是“短if语句”。它是一个运算符,用于预期特定类型表达式的上下文中。myMethod()
返回什么?在那个表达式中使用它的结果有意义吗?注意,语法中有一个问号。这种做法会导致代码混淆,一个简单的旧的if
将更具可读性,并且与ternaly一样短。为什么不呢?为什么不做显而易见的和if(yourcondition){runWhateverCodeYouLike();}
?三元运算符(cond?value1:value2
)不是“short if statement”。它是一个运算符,用于预期的特定类型表达式的上下文中。什么是myMethod()
return?在该表达式中使用其结果有意义吗?请注意,语法中包含问号。这种做法将导致代码混淆,一个简单的旧if
将更具可读性,并且尽可能短,为什么不呢?来源:来源:
mylist = myValue ? myMethod() : myList;
myValue ? myMethod() : ;