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

  • 相关阅读:
    IE6中overflow:hidden失效怎么办
    单例模式笔记
    linux 中的 "2>&1"含义
    linux 文件目录介绍
    centos 安装jdk
    SimpleDateFormat非线程安全
    Linux下Weblogic 11g R1安装和配置
    <meta>标签 的一些用法
    基于java的邮件群发软件
    史上最完整的集合类总结及hashMap遍历
  • 原文地址:https://www.cnblogs.com/pengfeiliu/p/4478940.html
Copyright © 2011-2022 走看看