zoukankan      html  css  js  c++  java
  • java中string , StringBuffer , StringBuilder 区别

    1、String

    String变量的值不能改变,如果要改变String变量的值,虚拟机首先会遍历方法区中的字符串常量,如果存在需要的值,则虚拟机直接把此常量值的地址分配给String变量,如果不存在这样的值,虚拟机则会另外在方法区中划分出一块内存空间存储字符串常量,然后把这块地址赋给String变量。

    因此,String类的内容声明后不可被改变,改变的只是其内存地址的指向。

    2、StringBuffer

    StringBuffer是使用缓冲区存储字符串对象的,对象的内容可以改变。并且是线程安全的。

    StringBuffer不像String可以通过直接赋值的方式实例化,他必须通过构造方法完成实例化。

    3、StringBuilder

    StringBuilder跟StringBuffer是一样,字符串对象的内容可以改变,但是StringBuilder是线程不安全的。

    StringBuilder不像String可以通过直接赋值的方式实例化,他必须通过构造方法完成实例化。

    4、赋值

    String采用+连接字符串或字符; StringBuilder或StringBuffer通过append方法连接字符或字符串。

    5、StringBuffer或StringBuilder常用方法

    append , insert, delete , replace , substring, indexOf(查找), reverse

  • 相关阅读:
    This is a thoughtful essay
    MSSQL 模糊搜索全文(过程、函数、触发器等)
    MSSQL 高并发下生成连续不重复的订单号
    MSSQL sql numeric转字符串显示不补0
    iOS 开发之UIStackView的应用
    Java day 5
    Java day 4
    Java day 3-1
    Java day 3
    Java day 2
  • 原文地址:https://www.cnblogs.com/pengfeiliu/p/4478940.html
Copyright © 2011-2022 走看看