一起Talk Android吧(第十七回:Java常用类之StringBuffer)

来源:互联网 发布:淘宝有趣搜索血滴子 编辑:程序博客网 时间:2024/05/16 06:34

各位看官们,大家好,上一回中咱们说的是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位置处插入新字符串arg1public 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());    }       }

下面是程序的运行结果,请大家结合代码进行参考:

JavaThe length of strBuf2 is: 4strBuf2 equals Java: falsestrBuf2 equals strBuf3: falseis google in strBuf4? 4strBuf4 substring from 4: google.comstrBuf4 append search: www.google.comsearchstrBuf4 insert developper. at 4: www.developper.google.comsearchstrBuf4 toString: www.developper.google.comsearch

大家可以结合上面的代码来分析程序运行结果,这样可以加深对StringBuffer类型的理解。不知道大家对该结果有没有新的发现呢?其实,有一位细心的看官已经发现其中的“异常”了:

在执行完该类型的append()方法后StringBuffer类型变量的内容发生了变化。

这是什么原因呢?我们在下一章回中将给大家以及这位细心的看官来做详细的说明。

各位看官,关于Java常用类之StringBuffer的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!


0 0
原创粉丝点击