StringBuffer常用的方法

  1. package com.mangosoft.java.string;
  2.  
  3. /**
  4. * 字符串特点:字符串是常量,它们的值在创建之后不能更改。
  5. *
  6. * 字符串的内容一旦发生了变化,那么马上会创建一个新的对象。
  7. *
  8. * 注意:字符串的内容不适宜频繁修改,因为一旦修改马上就会创建一个新的对象。
  9. *
  10. * 如果需要频繁的修改字符串的内容,建议使用字符串缓冲类(StringBuffer)。
  11. *
  12. * StringBuffer 其实就是一个存储字符的容器。
  13. *
  14. * StringBuffer 底层是依赖了一个字符数组才能存储数据的,该字符串默认的初始容量是16,如果字符数组的长度不够使用时,自动增长1倍。
  15. *
  16. * 容器的具体行为
  17. *
  18. * 增加
  19. * append(boolean b) //可以添加任意类型的数据到容器中
  20. * insert(int offset, boolean b) //指定插入的索引值,插入对应的内容。
  21. *
  22. * 删除
  23. * delte(int start, int end) //根据指定的开始与结束的索引值删除对应的内容。
  24. * deleteCharAt(int index) //根据指定的索引值删除一个字符
  25. *
  26. *
  27. * 修改
  28. * replace(int start, int end, String str) //根据指定的开始与结束索引值替换成指定的内容。
  29. * reverse() //反转字符串缓冲类的内容。abc-->cba
  30. * setCharAt(int index, char ch) //把指定索引值的字符替换成指定的字符。
  31. * substring(int start, int end) //根据指定的索引值截取字符串。
  32. * ensureCapacity(int minimumCapacity) //指定StringBuffer内部的字符数组长度。
  33. *
  34. * 查看
  35. * indexOf(String str, int fromIndex) //查找指定索引值第一次出现的索引值,并且指定开始查找的位置。
  36. * capacity() //查看当前字符数组的长度
  37. * charAt(int index) //索引指定的索引值查找字符。
  38. * lastIndexOf(String str)
  39. * length() //存储的字符个数长度。
  40. * toString() //把字符串缓冲类的内容转换成字符串返回。
  41. *
  42. *
  43. * StringBuffer与StringBuilder的相同处与不同处:
  44. * 相同点:
  45. * 1.两个类都是字符串缓冲类
  46. * 2.两个类的方法都是一致的
  47. * 不同点:
  48. * 1.StringBuffer是线程安全的,操作效率低;StringBuilder是线程不安全的,操作效率高
  49. * 2.StringBuffer是jdk1.0出现的,StringBuilder是jdk1.5的时候出现的。
  50. *
  51. * 推荐使用StringBuilder,因为操作效率高。
  52. *
  53. * Created by zhangshengjian on 2016/11/1.
  54. */
  55. public class StringBufferDemo {
  56.  
  57. public static void main(String[] args) {
  58. StringBuffer sb = new StringBuffer();
  59. //添加
  60. sb.append("abc");
  61. //sb.append(true);
  62. //sb.append(3.14f);
  63.  
  64. //插入
  65. sb.insert(2, "小明");
  66.  
  67. //删除
  68. sb.delete(2,4); //包头不包尾
  69. sb.deleteCharAt(1);
  70.  
  71. //修改
  72. sb.replace(1,2,"hello");
  73. sb.reverse();
  74. sb.setCharAt(3, 'o');
  75. System.out.println(sb.substring(2));
  76. System.out.println(sb.substring(4, 6));
  77.  
  78. // sb.ensureCapacity(100); //指定容量,一般不会用这个方法,因为StringBuffer构造方法中可以指定初始容量。
  79.  
  80. //查看
  81. System.out.println(sb.indexOf("o"));
  82. System.out.println(sb.indexOf("h", 0));
  83. System.out.println(sb.capacity()); //16 34 70 ...
  84. System.out.println(sb.charAt(3));
  85. System.out.println(sb.length());
  86. System.out.println("字符串缓冲类的内容是" + sb);
  87.  
  88. test(sb.toString());
  89. }
  90.  
  91. public static void test(String str) {
  92.  
  93. }
  94.  
  95. }

运行结果:

  1. loha
  2. ha
  3. 0
  4. 4
  5. 16
  6. o
  7. 6
  8. 字符串缓冲类的内容是olloha

  

  

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

  1. String和StringBuffer 常用方法总结

     String和StringBuffer 常用方法总结 一.不可变长度String 1.字符串---->char数组 char[] chars=str.toCharArray(); 2.字符串中 ...

  2. 7.算法竞赛中的常用JAVA API :String 、StringBuilder、StringBuffer常用方法和区别(转载)

    7.算法竞赛中的常用JAVA API :String .StringBuilder.StringBuffer常用方法和区别 摘要 本文将介绍String.StringBuilder类的常用方法. 在j ...

  3. Java String字符串/==和equals区别,str。toCharAt(),getBytes,indexOf过滤存在字符,trim()/String与StringBuffer多线程安全/StringBuilder单线程—— 14.0

    课程概要 String 字符串 String字符串常用方法 StringBuffer StringBuilder String字符串: 1.实例化String对象 直接赋值  String str=& ...

  4. 常用类库——StringBuffer类

    掌握目标: 1,掌握StringBuffer与String的区别. 2,掌握StringBuffer常用方法. 3,掌握StringBuffer实际应用. 1,认识StringBuffer. Stri ...

  5. Java中String、StringBuffer、StringBuilder和toString的介绍

    作为一个刚接触java的小白,觉得字符串是个比较大的知识点,所以我把自己整理的一点笔记写成随笔,与园友一起分享,也请园友多多指出意见. 一.String类 1.字符串长度——length() Stri ...

  6. Java学习笔记——String与StringBuffer

    String与StringBuffer String.substring(start,end); 范围为[start,end) StringBuffer.delete(start,end) 范围也是为 ...

  7. Android为TV端助力 StringBuffer 和StringBuilder

    如果我们的程序是在单线程下运行,或者是不必考虑到线程同步问题,我们应该优先使用StringBuilder类:如果要保证线程安全,自然是StringBuffer. 除了对多线程的支持不一样外,这两个类的 ...

  8. String、StringBuffer、StringBuilder区别

    String.StringBuffer.StringBuilder区别 StringBuffer.StringBuilder和String一样,也用来代表字符串.String类是不可变类,任何对Str ...

  9. Java容器---字符容器StringBuffer & StringBuilder

    1.字符串对象 (1)定义 ---String 字符串常量,是不可改变的量,也就是创建后就不能在修改了: --- StringBuffer 字符串变量(线程安全),StringBuffer对象的值都是 ...

随机推荐

  1. 使用canal通过mysql复制协议从binlog实现热数据nosql缓存(1)

    binlog: mysql在运行过程中执行的DML(增删改)操作都会以二进制形式记录在binlog中 canal server: canal server作为从数据库(slave)向主数据库发送dum ...

  2. Git速成学习第三课:创建与合并分支

    本来第三课想记录一下远程仓库的创建与克隆0.0但是想了想还是不写了. 这里写一下分支管理中的创建与合并. Git速成学习笔记整理于廖雪峰老师的官网网站:https://www.liaoxuefeng. ...

  3. C语言的灵魂——指针基础

    一.什么是指针 1.指针的定义:地址形象化为指针,通过指针能够找到内存单元. 指针变量就是地址变量,变量的值为指针. 指针其实是我们将变量名和地址的关系显化(独立)出来的一种形式,是为了我们更加方便的 ...

  4. Spring A 标签链接使用

    1.示例 <a th:href="@{/edit/{id}(id=${user.id})}">修改</a> 以@开头前面的{id}是占位符,后面的(id=$ ...

  5. 破周三,前不着村后不着店的,只好学pandas了,你该这么学,No.9

    如果图片无法观看,请移步 https://blog.csdn.net/hihell 周三了,一个星期最难的一天 大中间的,今天还这么热 5月份,36度的高温 天空飘过几个字 屋里学pandas最得劲 ...

  6. [bzoj1151][CTSC2007]动物园zoo_状压dp

    动物园zoo 题目大意:https://www.lydsy.com/JudgeOnline/problem.php?id=1151 题解: 我们发现每个点只会往右延伸$5$个,这个数非常小. 再加上每 ...

  7. kafka安装、相关命令以及PHP使用

    1.安装JAVA #下载安装包 https://www.oracle.com/technetwork/java/javase/downloads/index.html tar -xzvf jdk-8u ...

  8. 三分钟搞定Python中的装饰器

    python的装饰器是python的特色高级功能之一,言简意赅得说,其作用是在不改变其原有函数和类的定义的基础上,给他们增添新的功能. 装饰器存在的意义是什么呢?我们知道,在python中函数可以调用 ...

  9. css走马灯,一步一停(专家介绍类型)

    <div class="CON--cen-pd3 clear aniview slow" data-av-animation="fadeIn"> & ...

  10. 第一章、web应用安全概论--web应用系统介绍--TCP/IP协议

    TCP/IP协议源于1969年,是国际互联网Internet采用的协议标准TCP/IP协议是一组通信协议的代名词,是由一系列协议组成的协议族,本身是指两个协议集:    TCP--传输控制协议    ...