我喜欢把自己和语法上的事情混为一谈,而不是专注于真正做事情。:)
我知道我可以用这件事做什么,但我仍然想知道引擎盖下到底发生了什么。
所以......我只是想知道将字符串放在括号内有意义的原因和情况是什么。我看到了一个返回类似的方法
return (string1 + " " + string2);
我喜欢把自己和语法上的事情混为一谈,而不是专注于真正做事情。:)
我知道我可以用这件事做什么,但我仍然想知道引擎盖下到底发生了什么。
所以......我只是想知道将字符串放在括号内有意义的原因和情况是什么。我看到了一个返回类似的方法
return (string1 + " " + string2);
括号在此示例中无效。您发布的代码相当于:
return string1 + " " + string2;
一般来说,括号和String
s 或字符串文字之间没有特定的交互。括号与“正常”表达式具有相同的语义:对操作进行分组。
在某些情况下,可能需要括号来指定正确的解释:
System.out.println("foo: " + 1 + 1); // will print "foo: 11"
System.out.println("foo: " + (1 + 1)); // will print "foo: 2"
它是一个合法的构造,它与代数中的括号具有相同的目的,以确保在返回之前完成操作。实际上在这种情况下它是不需要的,如果你这样做了
return string1 + " " + string2;
结果是一样的。也许代码的作者认为它可能更具可读性?
只是可读性。如果要强调返回的对象,请放置括号。但它们不是必需的。
这return
看起来像一个函数调用,实际上不是。因此,这是一个不应使用括号的示例。
我只是想知道将字符串放在括号内有意义的原因和情况是什么。
这是另一个例子:
string1 + " " + string2.substring(a,b)
和:
(string1 + " " + string2).substring(a,b)
是两种截然不同的野兽。