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


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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值