在编写一些代码时,我遇到了一些奇怪的字符串连接语法,并且惊讶地发现它编译了。
quota.setText("Cloud storage: " + used + " (" + + + + quotaUsed / quotaAvailable * 100 + " of " + total);
奇怪的部分是在四个连续+操作符周围(我打算在它们之间放置更多的字符串,我很惊讶它们下面没有红色的波浪线。quotaUsed
和quotaAvailable
是{ {1}}和long
和used
是字符串。
任何人都可以解释系统将如何解释该声明吗?
答案 0 :(得分:4)
第一个+
将成为连接运算符,接下来的三个将只是the unary +
operator,在这种情况下基本上是无操作。请注意,您将对分数执行整数除法,因此如果将其写为
(100 * quotaUsed) / quotaAvailable
你会获得更好的精确度。