与以下问题类似,但是我将通过更具体的查询进行扩展。同样,这也就是否使用if / else的三元样式或正常样式搁置了意见。在Java中使用三元运算符应用增量
因此,从理论上讲,以下代码段:
if (text.equals("foo"))
data++;
else if (text.equals("bar"))
data--;
使用三元运算符应如下所示:
data = text.equals("foo") ? data++ : text.equals("bar") ? data-- : data;
但是,在我的android(Java)应用程序中,android studio向我显示了一个警告:
从不使用在'data ++'处更改的值
同样,当我在应用程序中运行此命令时,数据变量保持不变。但是,当我将代码行更改为此:
data = text.equals("foo") ? data + 1 : text.equals("bar") ? data - 1 : data;
有效。
因此,这使我想知道在此上下文中是否允许使用++ /-运算符?有人对此有任何意见吗?
后递增(data++
)和后递减(data--
)运算符会在变量的递增/递减之前返回该变量的值,因此将其分配回该变量会取消该递增/递减。
您可以改为使用预增量和预减量(或data + 1
与data - 1
您一样):
data = text.equals("foo") ? ++data : text.equals("bar") ? --data : data;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句