各位看官们,大家好,上一回中咱们说的是Java常用类之String的例子,这一回咱们说的例子是Java常用类之StringBuffer。闲话休提, 言归正转。让我们一起Talk Android吧!
看官们,我们在今天的章回中介绍另外一种字符串类:StringBuffer,它也是Java中的常用类之一,在实际项目中经常使用它。接下来我们看看它的初始化方法。
1. StringBuffer的初始化
我们通过伪代码来演示。
StringBuffer strBuf1 = "Java"; //方式一
StringBuffer strBuf2 = new StringBuffer("Java"); //方式二
这时有看官说:“这看上去和String类的初始化方式一样呀”。这位看官说的正确,不过方式一的初始化方式不符合Java的语法,我们只能使用方式二来初始化StringBuffer变量。其中的原因暂且不表,我们在后面的章回中做介绍。
2. StringBuffer的方法
谈完了StringBuffer类型的初始化,我们看看StringBuffer类给我们提供的方法,通过这些方法,可以方便地操作StringBuffer类型的变量。
public int length();//返回字符串的长度
public boolean equals(Object arg0);//判断两个字符串的内容是否相等,注意它与操作符“==”的区别
public int indexOf(String arg0);//在字符串中查找某个字符串的位置,找到后返回字符串的位置,否则返回-1。
public String substring(int arg0);//从字符串中ar0所在的位置开始截取一段字符串,直到字符串末尾为止
public StringBuffer append(String arg0);//在字符串后面添加字符串arg0,相当于把原来的字符串和arg0合成了一个新的StringBuffer类型的字符串
public StringBuffer insert(int arg0,String arg1);//在字符串arg0位置处插入新字符串arg1
public String toString(); //把StringBuffer类型的变量转换为String类型的变量
与String类型提供的方法相比,StringBuffer类型不支持equalsIgnoreCase()和split()
方法,不过它还提供了其它的方法:insert()和append()
。这些方法的具体功能看上面的注释就能明白。除了这些方法外,StringBuffer类还提供了许多方法,我们就不一一列出了。在这里只列出一些常用的方法,其它的方法大家可以查阅JDK文档。我们列出了常用方法的函数原型及其功能,接下来我们通过具体的例子来说明如何使用这些函数:
public class StringEx {
public static void main(String args[])
{
//StringBuffer strBuf1 = "Java";
StringBuffer strBuf2 = new StringBuffer("Java");
StringBuffer strBuf3 = new StringBuffer("JAVA");
StringBuffer strBuf4 = new StringBuffer("www.google.com");
System.out.println(strBuf2);
System.out.println("The length of strBuf2 is: "+strBuf2.length());
System.out.println("strBuf2 equals Java: "+strBuf2.equals("Java"));
System.out.println("strBuf2 equals strBuf3: "+strBuf2.equals(strBuf3));
System.out.println("is google in strBuf4? "+strBuf4.indexOf("google"));
System.out.println("strBuf4 substring from 4: "+strBuf4.substring(4));
System.out.println("strBuf4 append search: "+strBuf4.append("search"));
System.out.println("strBuf4 insert developper. at 4: "+strBuf4.insert(4,"developper."));
System.out.println("strBuf4 toString: "+strBuf4.toString());
}
}
下面是程序的运行结果,请大家结合代码进行参考:
Java
The length of strBuf2 is: 4
strBuf2 equals Java: false
strBuf2 equals strBuf3: false
is google in strBuf4? 4
strBuf4 substring from 4: google.com
strBuf4 append search: www.google.comsearch
strBuf4 insert developper. at 4: www.developper.google.comsearch
strBuf4 toString: www.developper.google.comsearch
大家可以结合上面的代码来分析程序运行结果,这样可以加深对StringBuffer类型的理解。不知道大家对该结果有没有新的发现呢?其实,有一位细心的看官已经发现其中的“异常”了:
在执行完该类型的append()方法后StringBuffer类型变量的内容发生了变化。
这是什么原因呢?我们在下一章回中将给大家以及这位细心的看官来做详细的说明。
各位看官,关于Java常用类之StringBuffer的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!