源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java stringbuffer的用法示例

  • 时间:2022-04-22 21:13 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java stringbuffer的用法示例
特点: 长度是可变化的(底层实际是不断的new数组) 可以直接操作多个数据类型 最终会通过toString方法变成字符串 可以对字符串进行修改 线程是同步的 与数组之间的区别: StringBuffer:长度是可变的,可以存储不同类型的数据  数组:长度不可变,只能存储一种数据类型 StringBuffer功能: 存储(create) StringBuffer append():将指定的数据作为参数添加到已有数据结尾处(除了byte和short类型的数据没有以外其他数据类型都有都可以) StringBuffer insert(index,数据):可以将数据插入到指定index位置
[u]复制代码[/u] 代码如下:
 public static void method_add(){      StringBuffer sb = new StringBuffer();      //sb.append("abc").append(true).append(5378);方法调用链结果是一串字符串      //StringBuffer sb1 = sb.append(34563);      System.out.println("sb==sb1:"+(sb==sb1));//结果是true  sb和sb1指向同一个对象,这叫做面盆理论,不管往StringBuffer这个容器里加什么结果还是这个容器       //指定位置添加元素      //StringBuffer sb2=sb1. insert(3,"hello");      //sop(sb2.toString());  }
删除(delete) StringBuffer delete(start,end)     删除缓冲区中的数据,包含start,不包含end,如果start超过角标的话,会抛出异常字符串角标越界 StringBuffer deleteCharAt(index)   删除指定位置的字符
[u]复制代码[/u] 代码如下:
public static void method_del(){ StringBuffer sb = new StringBuffer("huangjianfeng"); System.out.println(sb.toString()); //删除某一部分 sb.delete(1,3); System.out.println(sb.toString()); //删除字符串中的某一个元素 sb.delete(2,3); sb.deleteCharAt(2); System.out.println(sb.toString()); //清空缓冲区 //sb=new StringBuffer//错误,这是又定义一个缓冲区 sb指向了一个新的缓冲区 sb.delete(0,sb.length()); System.out.println(sb.toString()); }
获取(read)
[u]复制代码[/u] 代码如下:
char charAt(int index) int indexOf(String str) int lastIndexOf(String str) int length() String substring(int start , int end)
[u]复制代码[/u] 代码如下:
public static void Method_read(){ StringBuffer sb = new StringBuffer("javascript"); char ch = sb.charAt(3); int index1 = sb.indexOf("sc"); int index2 = sb.lastIndexOf("sc"); int len = sb.length(); String str = sb.substring(5,7); sop("ch="+ch+",index1="+index1+",index2="+index2+",len="+len+",str="+str); }
修改(update)
[u]复制代码[/u] 代码如下:
StringBuffer replace(start,end,string); void setCharAt(int index,char ch); 只可以替换某一个字符
[u]复制代码[/u] 代码如下:
public static void Method_Update(){ StringBuffer sb1 = new StringBuffer("javascript"); StringBuffer sb2 = sb1.replace(4,10,"ee"); System.out.println(sb2); sb1.setCharAt(1,'b'); System.out.println(sb1); }
其他常用的方法: 反转  StringBuffer reverse(); 设置StringBuffer容器的长度setLength(); 将缓冲区中指定数据存储到指定字符数组中void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin);
[u]复制代码[/u] 代码如下:
 public static void Method_Other() {  StringBuffer sb = new StringBuffer();   //设置长度   sb.setLength(4);   System.out.println(sb.length());   //将字符串反转   StringBuffer sb1 = new StringBuffer("huangjianfeng");   sb1 = sb1.reverse();  System.out.println(sb1); //  将缓冲区中指定数据存储到指定字符数组中 char[] arr = new char[15]; StringBuffer sb2 = new StringBuffer("huangjianfeng"); sb2.getChars(0, 7, arr, 3); for(char sbs : arr){   System.out.print(sbs); } }
JDK1.5版本之后出现了StringBuilder StringBuilder是线程不同步的,通常用于单线程提高效率  Stringbuffer是线程同步的,通常用于多线程  开发建议使用StringBuilder,提升效率 升级三个因素:提高效率简化书写提高安全性
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部