我在编写代码时遇到了一些奇怪的字符串连接语法,并且很惊讶地发现它编译了。Java:奇怪的字符串连接语法
quota.setText("Cloud storage: " + used + " (" + + + + quotaUsed/quotaAvailable * 100 + " of " + total);
奇怪的部分是围绕着四个+运营商(我本来打算把他们之间更多的字符串,我很惊讶,没有红色波浪线在它们下面。quotaUsed
和quotaAvailable
是long
S和used
和total
都是字符串。
谁能解释系统将如何解释这句话?
我认为它可能会应用一次'++'运算符和一次'+'运算符(使值为正)并应用连接。我不确定,需要查看输出结果。 – blueblob
@blueblob - 错误的猜测。 '++'操作符在它的中间不能有空格。 –
@blueblob一元'+'不会“使值为正值”。如果'x'是负数,'+ x'仍然是负值。 'Math.abs(x)'会使它正确。 – ajb