加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

StringBuffer

发布时间:2020-12-15 01:56:34 所属栏目:Java 来源:网络整理
导读:StringBuffer和String的区别? ? 前者长度和内容可变,后者不可变。 ? 如果使用前者做字符串的拼接,不会浪费太多的资源。 StringBuffer的构造方法: ??? ???? public StringBuffer():无参构造方法 ??? ???? public StringBuffer(int capacity):指定容量的字

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

StringBuffer的构造方法:
??? ???? public StringBuffer():无参构造方法
??? ???? public StringBuffer(int capacity):指定容量的字符串缓冲区对象
??? ???? public StringBuffer(String str):指定字符串内容的字符串缓冲区对象

   ?默认容量为16

添加功能:

     public StringBuffer append(String str):追加
     public StringBuffer insert(int offset,String str):指定位置插入字符串

删除功能:
?     public StringBuffer deleteCharAt(int index):删除指定位置的字符,并返回本身
?     public StringBuffer delete(int start,int end):删除从指定位置开始指定位置结束的内容,并返回本身
替换功能:
?     public StringBuffer replace(int start,int end,String str):从start开始到end用str替换

反转功能:
?     public StringBuffer reverse()

截取功能:

    注意返回值类型不再是StringBuffer本身了
?     public String substring(int start)
?     public String substring(int start,int end)

String -转化为-StringBuffer

     ?String s = "hello";
?? ??  ? ?// 注意:不能把字符串的值直接赋值给StringBuffer
?? ???  ? // StringBuffer sb = "hello";
?? ???   ?// StringBuffer sb = s;
?? ???   ?// 方式1:通过构造方法
?? ??  ? ?StringBuffer sb = new StringBuffer(s);
?? ??? ?  // 方式2:通过append()方法
?? ??? ?  StringBuffer sb2 = new StringBuffer();
?? ???   ?sb2.append(s);

StringBuffer -转化为- String
?? ?  ?? ?StringBuffer buffer = new StringBuffer("java");
?? ?  ?? ?// String(StringBuffer buffer)
?? ?  ?? ?// 方式1:通过构造方法
    String str = new String(buffer);
?? ?  ?? ?// 方式2:通过toString()方法
?? ?  ?? ?String str2 = buffer.toString();

1:String,StringBuffer,StringBuilder的区别??  A:String是内容不可变的,而StringBuffer,StringBuilder都是内容可变的。?  B:StringBuffer是同步的,数据安全,效率低;StringBuilder是不同步的,数据不安全,效率高? ?2:StringBuffer和数组的区别?  ?二者都可以看出是一个容器,装其他的数据。  ?但是呢,StringBuffer的数据最终是一个字符串数据。  ?而数组可以放置多种数据,但必须是同一种数据类型的。3:形式参数: ?? ???? 基本类型:形式参数的改变不影响实际参数?? ???? 引用类型:形式参数的改变直接影响实际参数 ?*注意:? ?? ???? String作为参数传递,效果和基本类型作为参数传递是一样的。?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读