将字符串放在括号中的句法意义

时间:2011-02-08 11:17:23

标签: java string parentheses

我喜欢把自己与语法事物混淆,而不是专注于真正做事。 :)

我知道我能用这件事做些什么,但我仍然想知道幕后发生的事情。

所以...我只是想知道将括号内的字符串放入有意义的原因和情况是什么。我看到一个返回类似

的方法
return (string1 + " " + string2);

5 个答案:

答案 0 :(得分:5)

在此示例中,括号无效。您发布的代码等同于:

return string1 + " " + string2;

一般来说,括号与String或字符串文字之间没有特定的相互作用。括号与“普通”表达式具有相同的语义:对操作进行分组。

在某些情况下,可能需要括号来指定正确的解释:

System.out.println("foo: " + 1 + 1);   // will print "foo: 11"
System.out.println("foo: " + (1 + 1)); // will print "foo: 2"

答案 1 :(得分:2)

它是一个合法的构造,它与代数中的括号具有相同的目的,以确保在返回之前完成操作。实际上,在这种情况下,它是不需要的,如果你做了

return string1 + " " + string2;  

结果会是一样的。也许代码的作者认为它可能更具可读性?

答案 2 :(得分:1)

只是可读性。如果你想强调返回的对象,你可以放括号。但它们并非必要。

答案 3 :(得分:0)

这使得return看起来像一个函数调用,实际上它不是。所以,这是一个你不应该使用括号的例子。

答案 4 :(得分:0)

  

我只是想知道是什么原因和   放字符串的情况   括号内是有意义的。

这是另一个例子:

string1 + " " + string2.substring(a,b)

(string1 + " " + string2).substring(a,b)

是两种非常不同的野兽。