java基础学习之string专题


今天介绍下java中的String

用法

  • 定义String变量
    String a = "test";
    
  • new 创建
    String b = new String("test");
    
  • 可以直接使用+ += 运算

内部原理

  • String类内部用一个字符数组表示字符串
  • String会根据参数新创建一个数组,并复制内容,而不会直接用参数中的字符数组。String中的大部分方法内部也都是操作的这个字符数组

不可变性

  • String类也是不可变类,即对象一旦创建,就没有办法修改了。String类也声明为了final,不能被继承,内部char数组value也是final的,初始化后就不能再变了
  • String类中提供修改的方法,是通过创建新的String对象来实现的,原来的String对象不会被修改

常量字符串

  • 字符串常量放在字符串常量池
  • 直接使用常量的定义引用的是常量池内同一个对象,相等,new 出来的则是新的对象

特别说明

  • 如果频繁修改字符串,而每次修改都新建一个字符串,那么性能太低,这时,应该考虑Java中的另两个类StringBuilder和StringBuffer
    -

文章作者: Xudong Jiang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Xudong Jiang !
 上一篇
mysql-innodb存储引擎体系结构介绍 mysql-innodb存储引擎体系结构介绍
本文简单介绍Innodb存储引擎的体系架构。 Innodb体系内含(参考图): 文件系统; 多个内存块组成的大的内存池; 后台线程 文件系统 数据存储再磁盘上的最终场所; 后台线程 Innodb是多线程的模型,后台有多个不
2017-05-22
下一篇 
java基础学习之数据类型 java基础学习之数据类型
java是强类型语言,必须为每一个变量声明一种类型。一共有8种基本类型: 整型 int:4字节,(取值范围不在此列出,可google或参考《java核心技术》) short:2字节 long:8字节 byte:1字节 浮点类型 flo
2017-02-17
  目录