Java之StringBuffer类

1.

字符串特点:字符串是常量;它们的值在创建之后不能更改.

字符串的内容一旦发生了变化,那么马上会创建一个新 的对象。

注意: 字符串的内容不适宜频繁修改,因为一旦修改马上就会创建一个新的对象。

如果需要频繁修改字符串 的内容,建议使用字符串缓冲 类(StringBuffer)。

2.StringBuffer 其实就是一个存储字符 的容器。

笔试题目

使用Stringbuffer无 参的构造函数创建 一个对象时,默认的初始容量是多少? 如果长度不够使用了,自动增长多少倍?

StringBuffer 底层是依赖了一个字符数组才能存储字符数据 的,该字符串数组默认 的初始容量是16, 如果字符数组的长度不够使用 死,自动增长1倍。

3.

容器的具备 的行为

String

增加

append(boolean b)    可以添加任意类型 的数据到容器中

insert(int offset, boolean b)  指定插入的索引值,插入对应 的内容。

删除

delete(int start, int end)  根据指定的开始与结束的索引值删除对应的内容。

deleteCharAt(int index)   根据指定 的索引值删除一个字符。

修改

replace(int start, int end, String str) 根据指定 的开始与结束索引值替代成指定的内容。

reverse()   翻转字符串缓冲类的内容。  abc--->cba

setCharAt(int index, char ch)  把指定索引值的字符替换指定的字符。

substring(int start, int end)  根据指定的索引值截取子串。

ensureCapacity(int minimumCapacity)  指定StringBuffer内部的字符数组长度的。

查看

indexOf(String str, int fromIndex) 查找指定的字符串第一次出现的索引值,并且指定开始查找的位置。

lastIndexOf(String str)

capacity() 查看当前字符数组的长度。

length()

charAt(int index)

toString()   把字符串缓冲类的内容转成字符串返回。

StringBuffer 与 StringBuilder的相同处与不同处:

相同点:

1. 两个类都是字符串缓冲类。

2. 两个类的方法都是一致的。

不同点:

1. StringBuffer是线程安全的,操作效率低 ,StringBuilder是线程非安全的,操作效率高。

2. StringBuffer是jdk1.0出现 的,StringBuilder 是jdk1.5的时候出现的。

推荐使用: StringBuilder,因为操作效率高。

public class Demo2 {

	public static void main(String[] args) {
		//先使用StringBuffer无参的构造函数创建一个字符串缓冲类。
		StringBuffer sb = new StringBuffer(); 
		sb.append("abcjavaabc");
		/*
		添加 
		sb.append(true);
		sb.append(3.14f);
		插入

		sb.insert(2, "小明");
		*/

		/*
		删除
		sb.delete(2, 4); //  删除的时候也是包头不包尾
		sb.deleteCharAt(3); //根据指定 的索引值删除一个字符

		修改
		sb.replace(2, 4, "陈小狗");

		sb.reverse(); // 翻转字符串的内容

		sb.setCharAt(3, ‘红‘);

		String subString = sb.substring(2, 4);
		System.out.println("子串的内容:"+ subString);

		查看

		int index = sb.indexOf("abc", 3);
		System.out.println("索引值为:"+index);

		sb.append("javajava");
		System.out.println("查看字符数组的长度:"+ sb.capacity());
		*/

		System.out.println("存储的字符个数:"+sb.length());
		System.out.println("索引指定的索引值查找字符:"+sb.charAt(2) );
		System.out.println("字符串缓冲类的内容:"+ sb);

		String content = sb.toString();
		test(content);
	}

	public static void test(String str){

	}

}
时间: 2024-12-29 11:19:18

Java之StringBuffer类的相关文章

JAVA的StringBuffer类

JAVA的StringBuffer类 Posted on 2009-12-03 16:42 火之光 阅读(123734) 评论(5) 编辑 收藏 StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类. 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入.删除等操作,使用StringBuffer要更加适合一些. 在S

【转】JAVA的StringBuffer类

[转]JAVA的StringBuffer类    StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类. 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入.删除等操作,使用StringBuffer要更加适合一些. 在StringBuffer类中存在很多和String类一样的方法,这些方法在功能上和String类中

初学java之StringBuffer类的常用方法

1 import java.text.*; 2 public class Gxjun 3 { 4 public static void main(String atgs[]) 5 { 6 StringBuffer str= new StringBuffer(); 7 str.append("大家好"); 8 System.out.println("str:"+str); 9 System.out.println("length:"+str.len

Java中StringBuffer类append方法的使用

Java中StringBuffer类append方法的使用 append方法的作用是在一个StringBuffer对象后面追加字符串. 例如StringBuffer s = new StringBuffer("Hello");s.append("World");则s的内容是HelloWorld

JAVA的StringBuffer类(转)

StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类. 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入.删除等操作,使用StringBuffer要更加适合一些. 在StringBuffer类中存在很多和String类一样的方法,这些方法在功能上和String类中的功能是完全一样的. 但是有一个最显著的区别在于,

Java入门——StringBuffer类

Java入门——StringBuffer类 认识StringBuffer类 如果一个字符串需要经常被改变,就需要使用StringBuffer类.(String类型的变量一旦声明就很难改变,若想改变,必须改变引用地址)! 字符串的连接操作 在程序书中使用append方法可以进行字符串的连接操作. package Sep22; public class StringBufferDemo01 { public static void main(String[] args) { StringBuffer

Java API ——StringBuffer类

1.StringBuffer类概述, 1)我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间.而StringBuffer就可以解决这个问题 2)线程安全的可变字符序列 3)StringBuffer和String的区别 · 前者长度和内容可变,后者不可变.  · 如果使用前者做字符串的拼接,不会浪费太多的资源. 2.构造方法 · public StringBuffer() :无参构造方法 · public StringBuffer(int capacity

JAVA的StringBuffer类(转载整理)____非常重要的一个类,线程安全,不用每次创建一个对象,以及和String的区别

核心部分转载自:http://www.cnblogs.com/springcsc/archive/2009/12/03/1616330.html StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类. 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入.删除等操作,使用StringBuffer要更加适合一些. 在S

JAVA中StringBuffer类常用方法

String是不变类,用String修改字符串会新建一个String对象,如果频繁的修改,将会产生很多的String对象,开销很大.因此java提供了一个StringBuffer类,这个类在修改字符串方面的效率比String高了很多. 在java中有3个类来负责字符的操作. 1.Character 是进行单个字符操作的, 2.String 对一串字符进行操作.不可变类. 3.StringBuffer 也是对一串字符进行操作,但是可变类. [java] view plain copy public

2016.3.12 JAVA中StringBuffer类常用方法详解(转)

String是不变类,用String修改字符串会新建一个String对象,如果频繁的修改,将会产生很多的String对象,开销很大.因此java提供了一个StringBuffer类,这个类在修改字符串方面的效率比String高了很多. 在java中有3个类来负责字符的操作. 1.Character 是进行单个字符操作的, 2.String 对一串字符进行操作.不可变类. 3.StringBuffer 也是对一串字符进行操作,但是可变类. 1 public class UsingStringBuf