zoukankan      html  css  js  c++  java
  • 为什么字符串用+号拼接对象,会得到字符串呢

    +号作为java中为数不多的重载运算符,提供了字符串拼接的功能。

    javap -c 反编译这个类可以看出来。编译器其实也是为我们手动new Stringbuilder来进行字符串拼接。

    那么问题来了。为什么有人告诉我,使用+号拼接字符串会产生一大堆无用的对象呢?他们是在开玩笑吗?编译器不是会为我们进行优化吗?

    其实不是这样的。

    对于一般的字符串拼接是没有问题的,只会产生一个Stringbuider对象。但是如果你拼接对象的行为在一个循环内,也就是说toString的形式是在一个循环内产生的,

    javap-c 可以看到。+号所产生的操作,会在循环内不产生N个Stringbuider对象。这是我们需要优化的地方。

    也就是我,当拼接字符串的操作发生在循环体内的话,请使用Stringbuider而不是+号。

  • 相关阅读:
    三维dem
    geoserver 通过代码实现发布地图服务
    restful发布服务
    php防攻击
    redis主从复制
    redis虚拟内存
    redis 持久化
    lamp源码安装
    mysql优化
    php匿名函数与闭包函数
  • 原文地址:https://www.cnblogs.com/munan56/p/12111990.html
Copyright © 2011-2022 走看看