• StringBuffer&StringBuilder类



    0. 说明

     


    1. 总体说明

      当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。

      和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。


    2. StringBuffer 

      2.1 说明

      类似于String的字符缓冲区,是一个容器。
      其内部维护了一个字符数组,用于存储字符。
      StringBuffer可以对字符串内容进行增删。
      很多方法与String相同。

      2.2 StringBuffer特有方法

    方法 说明
    append(String s) 将指定的字符串追加到此字符序列。
    insert(int offset,String str) 将字符串插入此字符序列中。
    delete(int start, int end) 移除此序列的子字符串中的字符。包前不包后:[start,end)
    reverse() 将此字符序列用其反转形式取代。

    replace(int start, int end, String str)

    使用给定 String 中的字符替换此序列的子字符串中的字符。

    3. StringBuilder 

      StringBuilder 类在 Java 5 中被提出。

      StringBuffer:  同步的,速度相对StringBuilder稍慢,线程安全。

      StringBuilder:   非同步的,速度快,线程不安全。

     

      由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。

      同步:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。
      异步:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。


    4. 练习

      将字符串中每个单词反转,例如:
      welcome to China
      emoclew ot anihC

     1 public class WordReverse {
     2     public static void main(String[] args) {
     3         String src = new String("welcome to China");
     4         //切分成字符串数组
     5         String[] words = src.split(" ");
     6         
     7         //用来装反转之后的字符串
     8         StringBuilder res = new StringBuilder();
     9         
    10         //遍历数组,封装成StringBuilder对象
    11         for(int i = 0;i<words.length;i++){
    12             StringBuilder sb = new StringBuilder(words[i]);
    13             res.append(sb.reverse()).append(" ");
    14         }
    15         
    16         System.out.println(res.toString().trim());
    17     }
    18 }

    且将新火试新茶,诗酒趁年华。
  • 相关阅读:
    SignalRMvc的简单例子
    CTE递归查询
    数据库表设计(邻接表、路径枚举、嵌套集、闭包表)
    EF事务
    context日志
    Context连接和断开的情况下的CRUD操作
    Sql语句拼接(EXEC和sp_executesql的区别)
    实体框架中的变更跟踪
    sql server 添加字段并且赋默认值和说明
    C# .ToString() 格式化
  • 原文地址:https://www.cnblogs.com/share23/p/9617762.html
Copyright © 2020-2023  润新知