Your arguments are good; this is one of the more expressive areas of the Java language, and the "" +
idiom seems well entrenched, as you discovered.
See String concatenation in the JLS. An expression like
"" + c1 + c2
is equivalent to
new StringBuffer().append(new Character(c1).toString())
.append(new Character(c2).toString()).toString()
except that all of the intermediate objects are not necessary (so efficiency is not a motive). The spec says that an implementation can use the StringBuffer
or not. Since this feature is built into the language, I see no reason to use the more verbose form, especially in an already verbose language.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…