Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

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

$
0
0

各位看官们,大家好,上一回中咱们说的是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的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!


作者:talk_8 发表于2017/4/23 8:35:58 原文链接
阅读:314 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>