编写一些代码时,我遇到了一些奇怪的String连接语法,但惊讶地发现它可以编译。quota.setText("Cloud storage: " + used + " (" + + + + quotaUsed / quotaAvailable * 100 + " of " + total);
奇怪的部分是四个连续+运算符之间的位置(我打算在它们之间放置更多的字符串,但令我惊讶的是它们下面没有红色的波浪线。quotaUsed
和quotaAvailable
分别是long
s和used
和total
是字符串。
谁能解释系统将如何解释该陈述?
最佳答案
第一个+
将是串联运算符,接下来的三个将是the unary +
operator,在这种情况下基本上是无操作。请注意,您将对分数执行整数除法,因此,如果将其写为
(100 * quotaUsed) / quotaAvailable
您将获得更高的精度。