Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
所以,我查看了一些较早的代码,发现这个随机加号应该是语法错误,但代码运行良好,我不明白为什么
tv_distance.setText("Distance: " + ( dist >= 1000 ? (String.format("%.1f", dist/1000f)) : +dist ) + " " + metric );
额外的加号位于三元运算符的第三个操作数:
() ? () : +dist
那我错过了什么?
dist是一个数字。+只是指定符号。例如,+5总是相同,5但它是合法的。显然,您更熟悉它的反义词,如-5.
dist
+
+5
5
-5
在这种情况下,加号被用作一元运算符 - 这里是多余的,但包含在 java 中的方式与一元减法运算符相同,即
int x = -5;