多次字符串相加一定要用StringBuilder而不用-吗?( 二 )
文章插图
更新与勘误2019-08-13 更新当在循环中对字符串进行 += 操作时 , 会在每一次迭代中都创建一个StringBuilder , 这种在循环内进行字符串 += 操作会被idea提示用 StringBuilder 替代的
package io.since1986.demo;public class Test10 {public static void main(String[] args) {String s = "1111DDDDFFFGGGGG";for (int i = 0; i < 99; i++) {s += "3fghjl";}System.out.println(s);}}
// class version 52.0 (52)// access flags 0x21public class io/since1986/demo/Test10 {// compiled from: Test10.java// access flags 0x1public
2019-08-15 更新GETFIELD test/Test8.s4 : Ljava/lang/String;INVOKEVIRTUAL java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;LDC "555566666666666666666666666666777"
“5555” + “66666666666666666666666666” + “777” 直接被合并在了一块 , 这个操作叫 常量折叠
Java中 , 关于String类型的变量和常量做“+”运算时发生了什么?
- ICPC--1199: 在线判题(字符串)
- ICPC--1206: 字符串的修改&1207:字符排列问题
- 红米太稳了,8+512G多次被抢光,友商望尘莫及
- Golang面试字符串、数组、切片知识
- 多次开售都秒没,12+256G新机仅3699元,价格太香
- 十六、深入Python字符串
- 零基础学Python:一文看懂数字和字符串
- leetcode之字符串压缩
- 年后|马云、任正非多次提到,10年后国内最贵的不是房子,而是这样东西
- listing|如何实现同一个listing一周内多次上Lightning Deals