我喜欢把自己与语法事物混淆,而不是专注于真正做事。 :)
我知道我能用这件事做些什么,但我仍然想知道幕后发生的事情。
所以...我只是想知道将括号内的字符串放入有意义的原因和情况是什么。我看到一个返回类似
的方法return (string1 + " " + string2);
答案 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)
是两种非常不同的野兽。