zoukankan      html  css  js  c++  java
  • 正确使用String,StringBuffer,StringBuilder

    很多时候在实际中,我们很常用的就是字符串String。

    对于它,网上已经说的很多了。

    我就说一点是特别重要的需要记住的,String赋值之后它就是不能被改变的。

    也就是这一点,导致了String在操作的时候会导致它内存的使用和速度上面有缺点。

    于是就有了后面两个类。

    很多地方都讲了这三个类的区别,我也就不多说了。

    我就简单的总结一下

    String只在一次赋值的时候用。也就是只是赋值一次,之后做任何操作。

    StringBuffer,在多线程的时候使用。

    StringBuilder,速度比StringBuffer快,但是线程不安全,所以只能在单线程的时候使用。

    StringBuffer使用的场景,在频繁的字符串运算,拼接、替换、删除等,并且运行在多线程环境中,例如XML的解析,HTTP参数的解析和封装。

    StringBuilder,运行在单线程环境下,例如SQL语句的拼接,JSON的封装等等。

    上面的都是基本。

    下面说说干货。

    在一个servlet里面,当我要获取http请求中的数据的时候,我会从request中拿到流,然后用StringBuffer去把数据部分拿出来。

    而在实际的业务处理上面,很多时候我会使用StringBuilder代替String,提高运行速度。

    然后比较重要的一点就是,基本上很多时候都可以用StringBuilder代替String,但是很多时候人就是偷懒不用,确实写代码看来没有String来的简洁,但是为了性能考虑能不用String就不用吧。

  • 相关阅读:
    Centos 安装配置iscsi
    Centos 部署Keepalive高可用软件
    Centos 编译安装Haproxy
    Centos 安装 Moosefs文件系统
    docker 存储
    hadoop碰到的 一个问题
    使用curl命令操作elasticsearch
    kafka集群下线broker节点实践方法(broker topic 迁移)
    kafka 安装
    redis3.2.11 安装
  • 原文地址:https://www.cnblogs.com/linkstar/p/5665672.html
Copyright © 2011-2022 走看看