欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java学习笔记39. StringBuffer 类的声明与创建

程序员文章站 2024-02-26 16:01:52
...

String对象一旦建立,就不能在堆内存中更改。重新赋值只能改变变量名的指向,比如:

String str = "abc"; //堆内存中开辟空间,存入abc
str = “def”; //另开辟空间存入def,并改变str的指向,原先内存中的abc并没有消失

当指向字符串的变量更改指向之后,原先的字符串在内存中就成了“垃圾”,就会有垃圾回收机制,定期地回收内存。

但是,如果需要对字符串变量频繁的操作,就会产生大量的内存空间垃圾。为了避免这种情况,在需要对字符串进行频繁操作的时候,就可以使用StringBuffer对象。StringBuffer对象可以直接操作堆内存中的字符串,从而避免产生大量的内存垃圾。

StringBuffer类的声明:

StringBuffer objectName; 

StringBuffer对象的创建:

1. 无参构造方法:无参构造方法创建一个可容纳16个字符的StringBuffer对象

StringBuffer sb = new StringBuffer();

2. 整型参数构造方法:创建一个可容纳参数长度字符的StringBuffer对象

StringBuffer sb = new StringBuffer(101); //创建一个可容纳101个字符的字符串

3. 以String对象作为参数的构造方法:可容纳长度为参数字符串长度,再加16 个字符

StringBuffer sb = new StringBuffer("abcde");
当未来实际所需要的字符长度大于最初定义的时候,系统自动为其扩容。