可能是我正在分裂头发,但我想知道以下情况:
String newString = a + b + c; //case 1
String newString = a.concat(b).concat(c); //case 2
StringBuilder newString = new StringBuilder(); //case 3
newString.append(a);
newString.append(b);
newString.append(c);
最好使用哪个?
我最好的意思是 任何方式 。
阅读这些内容后,其他帖子说案例3并不是最佳性能,其他案例1会以案例3结束,依此类推。
更具体。
例如,搁置一旁,如果必须维护他的代码,哪种风格更适合从其他html" target="_blank">程序员那里看到呢?
还是您认为哪种编程更有效?
否则您会认为速度更快等。
我不知道该如何表达。
像案例3这样的答案可能会更快,但是绝大多数程序员更喜欢案例1,因为如果它经过精心设计,那么可读性也最高。
情况1简洁明了,表达意图明确,相当于情况3。
情况2效率较低,可读性也较低。
情况3与情况1几乎一样有效,但是时间更长,可读性更差。
只有在必须串联时才使用案例3更好。否则,编译器会将情况1编译为情况3(除了使用构造StringBuilder之外new StringBuilder(a)
),这使其比情况3更为有效。
append key value 返回新字符串值的长度。
问题内容: 在每篇文章中,“如何向JEditorPane附加字符串?”问题的答案。就像 我已经试过了: 结果,我得到了“终止时间:1000”,而没有“进程的分布:” 为什么会发生这种情况??? 问题答案: 我怀疑这是附加文本的推荐方法。这意味着每次更改某些文本时,都需要重新解析整个文档。人们之所以这样做,是因为他们不了解如何使用JEditorPane。包括我在内。 我更喜欢使用JTextPane然
问题内容: 有没有简单的方法可以向现有字符串中添加n次字符或另一个字符串?我无法找到任何东西,等等。 问题答案: 您可以使用Java 8流API来执行此操作。以下代码从创建字符串:
我能用下面两条语句具体解释一下内存和运行时开销吗? > String CONST=字符串常量;StringBuilder sb1=new StringBuilder(); sb1.append(CONST); StringBuilder sb2=新的StringBuilder() sb2。附加(“字符串常量”); second是否创建字符串对象和外接程序stringpool?是否有任何场景(也考虑
编辑:我已经删除了用于out.write的for循环,它不是必需的。我在使用字符串数组时使用过它。