所以,我一直在寻找了一些早期的代码,发现应该是一个语法错误,这个随机加号,但代码工作得很好,我不知道为什么发现随机加号,没有语法错误
tv_distance.setText("Distance: " +
(dist >= 1000 ? (String.format("%.1f", dist/1000f)) : +dist)
+ " " + metric);
额外的加号是在三元运算符的第三个操作数:
() ?() : +dist
所以我失去了什么?
所以,我一直在寻找了一些早期的代码,发现应该是一个语法错误,这个随机加号,但代码工作得很好,我不知道为什么发现随机加号,没有语法错误
tv_distance.setText("Distance: " +
(dist >= 1000 ? (String.format("%.1f", dist/1000f)) : +dist)
+ " " + metric);
额外的加号是在三元运算符的第三个操作数:
() ?() : +dist
所以我失去了什么?
dist
是一个数字。 +
只是指定符号。例如,+5
总是与5
相同,但它是合法的。很显然,你更熟悉它的反面,如-5
。
在这种情况下,加号被用作一元运算符 - 冗余这里,但包含在Java中的同样的方式被认为是你会一元减法运算符,即
int x = -5;
做'a + + + + + + + b'并获得'a + b'也很有趣 –
没错'String s =“test”+3;' – Blundell