`

StringBuffer

    博客分类:
  • JAVA
 
阅读更多

1.在StringBuffer 中提供了一系列的append()方法,下面观察其使用(一定要注意的是,这些方法最终都会返回StringBuffer类的实例化对象)

 

public class StringBufferDemo{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer() ;	// 声明StringBuffer对象 
		buf.append("Hello ") ;					// 向StringBuffer中添加内容
		buf.append("World").append("!!!") ;		// 可以连续调用append()方法
		buf.append("\n") ;						// 添加一个转义字符
		buf.append("数字 = ").append(1).append("\n") ;	// 添加数字
		buf.append("字符 = ").append('C').append("\n");	 // 添加字符
		buf.append("布尔 = ").append(true) ;	// 添加布尔值
		System.out.println(buf) ;			// 直接输出对象,调用toString()
	}
}

 输出结果:

 

Hello World!!!
数字 = 1
字符 = C
布尔 = true
2.在任意位置处为StringBuffer插入内容

 

可以直接使用insert()方法添加内容: public StringBuffer insert(int offset, boolean b),offset代表字符的位置。

 

public class StringBufferDemo{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer() ;	// 声明StringBuffer对象 
		buf.append("World!!") ;		// 添加内容
		buf.insert(0,"Hello ") ;		// 在第一个内容之前添加内容
		
		System.out.println(buf) ;
		
		buf.insert(buf.length(),"MLDN~") ;	// 在最后添加内容
		System.out.println(buf) ;
	}
}

 输出结果:

 

Hello World!!
Hello World!!MLDN~

3.字符串反转操作

直接使用reverse()方法就可以完成反转的功能: public StringBuffer reverse()

 

public class StringBufferDemo04{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer() ;	// 声明StringBuffer对象 
		buf.append("World!!") ;		// 添加内容
		buf.insert(0,"Hello ") ;		// 在第一个内容之前添加内容
		String str = buf.reverse().toString() ;	// 将内容反转后变为String类型
		System.out.println(str) ;		// 将内容输出
	}
}

 4.替换指定范围的内容

 

 

在StringBuffer 类中也存在replace()方法,使用此方法可以对指定范围的内容进行替换 : public StringBuffer replace(int start, int end, String str)

 

public class StringBufferDemo05{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer() ;	// 声明StringBuffer对象 
		buf.append("Hello ").append("World!!") ;		// 向StringBuffer添加内容
		buf.replace(6,11,"LiXingHua") ;		// 将world的内容替换
		System.out.println("内容替换之后的结果:" + buf) ;	// 输出内容
	}
}

 

 

5.字符串截取

通过substring()方法直接从StringBuffer 中指定范围截取内容 : public String substring(int start, int end)

public class StringBufferDemo{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer() ;	// 声明StringBuffer对象 
		buf.append("Hello ").append("World!!") ;		// 向StringBuffer添加内容
		buf.replace(6,11,"LiXingHua") ;		// 将world的内容替换
		System.out.println(buf);
		String str = buf.substring(6,15) ;	// 截取指定范围的内容
		System.out.println("内容替换之后的结果:" + str) ;	// 输出内容
	}
}
 输出结果:
Hello LiXingHua!!
内容替换之后的结果:LiXingHua
6.删除指定范围字符串的内容

 

因为StringBuffer 的内容是可以修改的,所以也可以通过delete()方法删除指定的内容.

 

public class StringBufferDemo{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer() ;	// 声明StringBuffer对象 
		buf.append("Hello ").append("World!!") ;		// 向StringBuffer添加内容
		buf.replace(6,11,"LiXingHua") ;		// 将world的内容替换
		String str = buf.delete(6,15).toString() ;	// 删除指定范围中的内容
		System.out.println("删除之后的结果:" + str) ;	// 输出内容
	}
}
 7.查找指定的内容是否存在

 

在String 类中可以使用indexOf()方法进行查找,而在StringBuffer 中也可以继续使用此方法,些方法如果找到了内容则返回位置,否则返回 -1.

public class StringBufferDemo{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer() ;	// 声明StringBuffer对象 
		buf.append("Hello ").append("World!!") ;		// 向StringBuffer添加内容
		if(buf.indexOf("Hello")==-1){
			System.out.println("没有查找到指定的内容") ;
		}else{	// 不为01表示查找到内容
			System.out.println("可以查找到指定的内容") ;
		}
	}
}

 8,StringBuffer类的应用

 

频繁修改字符串中的内容,使用StringBuffer.

public class StringBufferDemo{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer() ;
		buf.append("LiXingHua") ;
		for(int i=0;i<100;i++){
			buf.append(i);		// StringBuffer可以修改,性能高
		}
		System.out.println(buf) ;
	}
}

 

分享到:
评论

相关推荐

    String、StringBuilder和StringBuffer的区别

    在Java编程语言中,String、StringBuilder和StringBuffer都是用来处理字符串的类,它们之间存在一些重要的区别,主要涉及到性能和线程安全性。 首先,`String`类代表的是字符串常量,一旦创建,其内容就不能改变。...

    String ,StringBuffer与StringBuilder

    String, StringBuffer 与 StringBuilder 的区别 在 Java 中,String, StringBuffer 和 StringBuilder 三个类都是用于字符操作的,但它们之间有着很大的区别。 首先,String 是不可变类,意味着一旦创建了 String ...

    String StringBuffer和StringBuilder区别之源码解析

    "String StringBuffer和StringBuilder区别之源码解析" 在Java中,字符串是我们经常使用的数据类型,而String、StringBuffer和StringBuilder是Java中三种常用的字符串类。在这篇文章中,我们将从源码角度对String、...

    StringBuffer类的总结

    ### StringBuffer 类的总结 #### 一、StringBuffer 类概述 `StringBuffer` 是 Java 中一个非常重要的类,它被设计用于处理字符串数据时提供高效的支持。相比于 `String` 类,`StringBuffer` 提供了更好的性能表现...

    Java语言中StringBuffer的用法

    在Java编程语言中,`StringBuffer`类是一个非常重要的工具,尤其在处理字符串连接操作时。相较于`String`类,`StringBuffer`提供了线程安全的动态字符串构建,避免了频繁创建新对象带来的性能开销。本文将深入探讨`...

    String&Stringbuffer

    ### String与StringBuffer知识点详解 #### 一、String与StringBuffer基本概念 **String**:在Java中,`String`类表示不可变的字符序列,它是最常用的字符串类。一旦创建了一个`String`对象,其内容便无法改变。这...

    String、StringBuffer、StringBuilder的使用方法

    在Java编程语言中,`String`、`StringBuffer`和`StringBuilder`是处理字符串的三个重要类,它们各自有特定的使用场景和优缺点。理解它们的差异对于编写高效的代码至关重要。 **String类** `String`是不可变的类,...

    String和StringBuffer详细用法总结

    根据给定的信息,本文将对`String`与`StringBuffer`在Java中的使用进行详细的解析与对比,并结合实例深入分析二者的异同及其适用场景。 ### `String` 和 `StringBuffer` 的基本概念 #### `String` 在Java中,`...

    StringBuffer和String_区别

    ### StringBuffer与String的区别详解 #### 一、概念与特性 **String** 是 Java 中一个不可变的类,代表了字符序列。一旦一个 String 对象被创建后,其内容就不能被改变。这使得 String 类非常适合用来表示常量或者...

    Java中StringBuffer对象的初始化.pdf

    在Java编程语言中,`StringBuffer`类是一个非常重要的工具,尤其在处理字符串连接操作时。与`String`类不同,`StringBuffer`是可变的(mutable),这意味着它的内容可以在创建后进行修改,而无需创建新的对象。这种...

    String和StringBuffer的区别

    在Java编程语言中,`String`和`StringBuffer`都是用来表示和操作字符串的重要类,但它们在性能和使用场景上有显著的区别。 首先,`String`类是不可变的,这意味着一旦创建了一个`String`对象,它的内容就不能改变。...

    String及StringBuffer和StringBuilder的区别

    String、StringBuffer 和 StringBuilder 是 Java 语言中三种不同类型的字符串处理方式,它们之间存在着明显的性能和线程安全性差异。 String String 类型是不可变的对象,每次对 String 对象进行改变时都会生成一...

    java高级特性StringBuffer类.doc

    Java 高级特性 StringBuffer 类 Java 高级特性中,StringBuffer 类是一个非常重要的类,它和 String 类一样用来代表字符串,但是由于内部实现方式的不同,StringBuffer 在进行字符串处理时,不生成新的对象,在内存...

    string与stringbuffer的区别

    字符串在Java中的表现形式主要有两种:`String`和`StringBuffer`(或者`StringBuilder`)。它们之间的主要区别在于可变性、性能和使用场景。 1. **不可变性**: `String`类是不可变的,这意味着一旦创建了一个`...

    string和StringBuffer的区别

    在Java编程语言中,`String`和`StringBuffer`都是用来表示和操作字符串的重要类,但它们在使用场景和性能上有显著的区别。了解这些差异对于编写高效、优化的代码至关重要。 首先,`String`类是不可变的。这意味着...

    String与StringBuffer区别详解

    在Java中,处理字符串主要涉及到两个类:String和StringBuffer。这两个类虽然在功能上有许多相似之处,但它们在实现和性能上却有很大的差别。 首先我们来理解String。String类在Java中是不可变的,这意味着一旦一个...

    String-StringBuffer-StringBuilder

    在Java编程语言中,`String`、`StringBuffer`和`StringBuilder`都是用来处理字符串的类,但它们之间存在显著的差异,主要体现在性能、线程安全性和使用场景上。 首先,`String`是最基本的字符串类,它代表的是不可...

Global site tag (gtag.js) - Google Analytics