StringBuffer:StringBuffer类型

描述:在实际应用中,经常回遇到对字符串进行动态修改。这时候,String类的功能受到限制,而StringBuffer类可以完成字符串的动态添加、插入和替换等操作。

1、构造函数。

StringBuffer() :构造一个没有任何字符的StringBuffer类。
StringBuffer(int length) ::构造一个没有任何字符的StringBuffer类,并且,其长度为length。
StringBuffer(String str) :以str为初始值构造一个StringBuffer类。

2、方法。

说明:

  1. 所有方法均为public;
  2. 书写格式:[修饰符] <返回类型> <方法名([参数列表])>

    如:

    static int parseInt(String s) 表示:此方法(parseInt)为类方法(static),返回类型为(int),方法所需参数为String类型。
1. StringBuffer append(boolean b)
2. StringBuffer append(char c)
3. StringBuffer append(char[] str)
4. StringBuffer append(char[] str, int offset, int len)
5. StringBuffer append(double d)
6. StringBuffer append(float f)
7. StringBuffer append(int i)
8. StringBuffer append(long l)
9. StringBuffer append(Object obj)
10. StringBuffer append(String str)
11. StringBuffer append(StringBuffer sb)

以上的方法都是向字符串缓冲区“追加”元素,但是,这个“元素”参数可以是布尔量、字符、字符数组、双精度数、浮点数、整型数、长整型数对象类型的字符串、字符串和StringBuffer类等。如果添加的字符超出了字符串缓冲区的长度,Java将自动进行扩充。

       String question = new String("1+1=");

            int answer = 3;

          boolean result = (1+1==3);

         StringBuffer sb = new StringBuffer();

            sb.append(question);

             sb.append(answer);

       sb.append('\t');

         sb.append(result);

         System.out.println(sb);

结果为:

1+1=3 false

12. int capacity() :
13. 返回当前StringBuffer对象(字符串缓冲区)的总空间,而非字符号串的长度。
14.
15. char charAt(int index) :
16. 在当前StringBuffer对象中取索引号为index的字符。第一个字符的索引为“0”
17.
18. StringBuffer delete(int start, int end) :
19. 删除当前StringBuffer对象中以索引号start开始,到end结束的子串。
20.
21. StringBuffer deleteCharAt(int index) :
22. 删除当前StringBuffer对象中索引号为index的字符。
23.
24. void ensureCapacity(int minimumCapacity) :
25. 重新设置字符号串缓冲区的总空间。如果minimumCapacity大于当前的总空间,则新的空间被设置:一种结果是minimumCapacity;另一种结果是{“老空间”乘2加2}。 StringBuffer sb1 = new StringBuffer(5); StringBuffer sb2 = new StringBuffer(5); sb1.ensureCapacity(6); sb2.ensureCapacity(100); System.out.println( "sb1.Capacity: " + sb1.capacity() ); System.out.println( "sb2.Capacity: " + sb2.capacity() );

结果为:

sb1.Capacity: 12

sb2.Capacity: 100

void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) :
从当前StringBuffer对象的索引号srcBegin开始,到srcEnd结束的子串,
赋值到字符数组dst中,并且从dst的索引号dstBegin开始。 StringBuffer sb = new StringBuffer("I love her!"); char[] i = {'I',' ','l','o','v','e',' ','y','o','u'}; sb.getChars(7,10,i,7); System.out.println( "sb: " + sb );

结果为:sb: I love her!

18. int indexOf(String str) :返回当前StringBuffer对象中,第一个满足str子串的位置。
19. int indexOf(String str, int fromIndex) :从当前StringBuffer对象的fromIndex开始查找,返回第一个满足str子串的位置。
20. StringBuffer insert(int offset, boolean b)
21. StringBuffer insert(int offset, char c)
22. StringBuffer insert(int offset, char[] str)
23. StringBuffer insert(int index, char[] str, int offset, int len)
24. StringBuffer insert(int offset, double d)
25. StringBuffer insert(int offset, float f)
26. StringBuffer insert(int offset, int i)
27. StringBuffer insert(int offset, long l)
28. StringBuffer insert(int offset, Object obj)
29. StringBuffer insert(int offset, String str)

以上的方法都是在当前StringBuffer对象中插入一个元素,在索引号offset处插入相应的值。

30. int lastIndexOf(String str) :
31. 返回当前StringBuffer对象中,最后一个满足str子串的位置。
32.
33. int lastIndexOf(String str, int fromIndex) :
34. 从当前StringBuffer对象的fromIndex开始查找,返回最后一个满足str子串的位置。
35.
36. int length() :
37. 返回当前StringBuffer对象(字符缓冲区)中,字符串的长度。注意:此方法与capacity() 不同。
38.
39. StringBuffer replace(int start, int end, String str) :
40. 替换当前StringBuffer对象的字符串。从start开始,到end结束的位置替换成str。
41.
42. StringBuffer reverse() :将字符串翻转。 StringBuffer sb = new StringBuffer("0123456789"); System.out.println( "sb.reverse(): " + sb.reverse() );

结果为:sb.reverse(): 9876543210

35. void setCharAt(int index, char ch) :
36. 设置索引号index的字符为ch。
37.
38. void setLength(int newLength) :
39. 重新设置字符串缓冲区中字符串的长度,如果newLength小于当前的字符串长度,将截去多余的字符。 StringBuffer sb = new StringBuffer("0123456789"); sb.setLength(5); System.out.println( "sb: " + sb );

结果为:sb: 01234

37. String substring(int start) :
38. 取当前StringBuffer对象中,从start开始到结尾的子串。
39.
40. String substring(int start, int end) :
41. 取当前StringBuffer对象中,从start开始到end的子串。
42.
43. String toString() :
44. 将当前StringBuffer对象转换成String对象。

Java中StringBuffer类的常用方法的更多相关文章

  1. java中File类的常用方法总结

    java中File类的常用方法 创建: createNewFile()在指定的路径创建一个空文件,成功返回true,如果已经存在就不创建,然后返回false. mkdir() 在指定的位置创建一个此抽 ...

  2. JAVA中StringBuffer类常用方法详解

    String是不变类,用String修改字符串会新建一个String对象,如果频繁的修改,将会产生很多的String对象,开销很大.因此java提供了一个StringBuffer类,这个类在修改字符串 ...

  3. JAVA中StringBuffer类常用方法

    String是不变类,用String修改字符串会新建一个String对象,如果频繁的修改,将会产生很多的String对象,开销很大.因此java提供了一个StringBuffer类,这个类在修改字符串 ...

  4. java 中String类的常用方法总结,带你玩转String类。

    String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...

  5. java 中String类的常用方法总结,玩转String类

    String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...

  6. Java中TimeZone类的常用方法

    一.TimeZone类的定义 TimeZone类是一个抽象类,主要包含了对于时区的各种操作,可以进行计算时间偏移量或夏令时等操作 二.TimeZone类的常用方法 1.getAvailableIDs( ...

  7. Java中StringBuffer类

    StringBuffer: 线程安全的可变字符串. StringBuffer和String的区别?前者长度和内容可变,后者不可变.如果使用前者做字符串的拼接,不会浪费太多的资源. StringBuff ...

  8. Java中BigDecimal类的常用方法

    1.简介 BigDecimal类位于java.math.BigDecimal包下.使用此类可以完成大的小数操作,而且也可以使用此类进行精确的四舍五入,这一点在开发中经常使用. 对于不需要任何准确计算精 ...

  9. Java中StringBuffer类append方法的使用

    public static void testAppend() { StringBuffer sb = new StringBuffer("This is a StringBuffer!&q ...

随机推荐

  1. python语法学习第十天--类与对象相关的BIF、魔法方法

    一些相关的BIF: issubclass(class,classInfo)#判断是否为子类,classInfo可以为多个类的元组,其中一个是,返回true,一个类也被认为是自己的子类,object是所 ...

  2. 大话Ansible Ad-Hoc命令

    Ansible是一个系列文章,我会尽量以通俗易懂.诙谐幽默的总结方式给大家呈现这些枯燥的知识点,让学习变的有趣一些. Ansible系列博文直达链接:Ansible入门系列 前言 通过前面的文章,大家 ...

  3. python中的基础坑

    v = [lambda :x for x in range(10)] print(v) #[lambda :x,lambda :x....]10个匿名函数 print(v[0]) #lambda :x ...

  4. 使用基于MVC2模式创建新闻网站

    1.什么是MVC MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示 ...

  5. Request.params,Request.form,Request.querystring区别(转)

    自己总结:---大致意思是: 1.传参的方式分为:get方式传参,post方式传参,request.cookies和request.servervariables 2.这几种获取参数方式获取的都是一个 ...

  6. zoj3997网络流+数学

    题目大意就是每个人都有自己喜欢的座位编号,喜欢的编号是要x的倍数就好,(1<=x<=10)一共10种情况,每种情况的人的数目不一样. 给你一个n,代表有编号1-n这n个座位,问最多能满足多 ...

  7. java远程执行linux服务器上的shell脚本

    业务场景:需要从服务器A中新增的文件同步至本地服务器,服务器A中内存有限,需同步成功之后清除文件. Java调用远程shell脚本,需要和远程服务器建立ssh链接,再调用指定的shell脚本. 1.创 ...

  8. [ubuntu][mysql 5.7]安装后没有密码?如何登录

    环境:(2020-04-21) WSL ubuntu LTS 18.04.1 mysql Ver 14.14 Distrib 5.7.29, for Linux (x86_64) 找到随机密码 # 显 ...

  9. 14.Java连接Redis_Jedis_主从模式

    redis的主从模式之前提到过,这里我们使用redis来实现主从模式. 首先在VMware虚拟机中的Linux中打开两个终端,一个是用户jack,一个是newuser: 然后我们jack作为主机,re ...

  10. [256个管理学理论]001.蝴蝶效应(Butterfly Effect)

    蝴蝶效应(Butterfly Effect) 来自于大洋彼岸的让你看不懂的解释: 蝴蝶效应是指在一个动力系统中,初始条件下微小的变化能带动整个系统的长期的巨大的连锁反应,是一种混沌的现象.“蝴蝶效应” ...