Java字符串连接运算符“+”的样式建议是什么?

时间:2011-07-18 05:00:46

标签: java coding-style

Java字符串连接运算符“+”的样式建议是什么?

编辑:具体来说,是否应该使用?

5 个答案:

答案 0 :(得分:3)

Thinking in Java(Eckel)说,重载的+运算符是使用StringBuilder实现的(虽然并非所有编译器都可以根据alphazero的答案支持它),因此避免了多个String对象以及相关的内存使用和垃圾收集。鉴于此,我会回答我自己的问题,说+运算符可能很好,风格方面。唯一需要注意的是,+是语言中唯一的重载实例,并且例外主义可能被视为不使用它的次要原因。回想起来,在某些情况下,简洁性的优势非常显着,并且必须考虑到很多风格。

答案 1 :(得分:1)

只要您的团队成员对此感到满意。

因为没有“正确”的编码风格。但我同意你应该总是在字符串和运算符之间使用空格来提高可读性。

答案 2 :(得分:0)

这是你的意思吗?

"string1" + "string"

或者,如果你排长队

"a really long string....." +
"another really long string......" +
"ditto once again" +
"the last one, I promise"

如果你有时间格式化这个权利,那么:

"a really long string....."        +
"another really long string......" +
"ditto once again"                 +
"the last one, I promise"

基本上,每次使用+运算符时,都应该使用前后至少一个空格。如果您在连接长字符串时使用它,请将其放在行尾。

答案 3 :(得分:0)

如果考虑到性能,则总体建议不要使用此表单(根本不使用此表单),而是使用StringBuilderStringBuffer(根据您的线程模型)。原因很简单:java中的字符串是不可变的,而'+'运算符在处理表单S1 + S2 + ... + Sn的表达式时会创建许多中间String对象。

[编辑:Optimization of String Concatenation]

答案 4 :(得分:0)

遵循Java的编码约定,字符串应按以下方式连接:

String str = "Long text line " 
             + "more long text.";

确保“ +”运算符始终从下一行开始。 https://www.oracle.com/technetwork/java/javase/documentation/codeconventions-136091.html#248

使用'+'运算符进行String连接非常好,有不同的库为其提供其他结构,但是对我来说,这是最简单的方法。

希望这会有所帮助!

快乐的编码,

Brady