zoukankan      html  css  js  c++  java
  • 黑马程序员JAVA基础StringBuffer 类 和StringBuilder 类

      StringBuffer 对象则代表一个字符序列可变的字符串。当一个 StringBuffer 被创建以后,通过StringBuffer 提供的一系列方法可以改变这个字符串对象的字符序列,一旦通过StringBuffer 生成了最终想要的字符串,就可以调用它的toString 方法将其转换成一个String 对象。

      JDK 1.5以后又新增了 StringBuilder 类。StringBuilder 类和 StringBuffer 类基本相似。不同的是,StringBuffer 是线程安全的, 而StringBuilder 则没有实现线程安全功能。所以性能略高。所以在不用考虑线程安全的情况下使用 StringBuilder 类。

    一.StringBuffer 类:

      常用的方法:

      1、添加:

        StringBuffer append(数据) ; 将指定的数据作为参数添加到已有的数据结尾处。返回的还是原缓冲区对象。

        StringBuffer insert(int index , 数据) ; 可以将数据插入到指定角标index 位置。注意:index不能越界。

       2、删除:

        StringBuffer delete(int start , int end) ;删除缓冲区的数据,包含start,不包含end。

        StringBuffer deleteCharAt(int index) ; 删除指定位置的字符。

       3、获取:

        char charAt(int index) ; 获取指定位置的字符。

        String substring(int start)  返回一个新的 String,它包含此字符序列当前所包含的字符子序列 

        ... ...

        int indexOf(String str) ; 获取子串第一次出现的位置。

        ... ... 

        注意:获取方法和String 类中的方法类似。

       4、修改 :

        StringBuffer replace(int start , int end , String str)

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

        void setChatAt(int index , char ch) 将给定索引出的字符设置成ch . 

        StringBuffer reverse() 将次字符序列用其反转形式取代。

     1 public class StringBufferDemo 
     2 {
     3     public static void main(String[] args)
     4     {  
     5         System.out.println("-------------------------------");
     6         CreateString(new StringBuffer("hello java")) ; 
     7         System.out.println("-------------------------------");
     8         DeleteString(new StringBuffer("hello java")) ;
     9         System.out.println("-------------------------------");
    10         ReplaceString(new StringBuffer("hello java")) ;
    11     }
    12     public static void CreateString(StringBuffer stringBuffer )
    13     {
    14 //        添加数据到stringBuffer 结尾处,
    15         stringBuffer.append("hello").append("java").append(520).append(true) ; 
    16         System.out.println(stringBuffer);
    17 //        在指定位置添加数据。
    18         stringBuffer.insert(0, "heima,"); 
    19         System.out.println(stringBuffer);
    20     }
    21     public static void DeleteString(StringBuffer stringBuffer)
    22     { 
    23 //        删除start至end的字符序列。
    24         stringBuffer.delete(0,6);
    25         System.out.println(stringBuffer);
    26 //        删除指定位置的字符
    27         stringBuffer.deleteCharAt(1) ;
    28         System.out.println(stringBuffer); 
    29     }
    30     public static void ReplaceString(StringBuffer stringBuffer)
    31     {
    32 //        替换指定字符序列。
    33         stringBuffer.replace(6, stringBuffer.length(), "wrold") ; 
    34         System.out.println(stringBuffer);
    35         stringBuffer.setCharAt(5, ',') ;
    36         System.out.println(stringBuffer);
    37 //        反转
    38         stringBuffer.reverse(); 
    39         System.out.println(stringBuffer); 
    40     }
    41 }

    二.StirngBuilder 类 

      一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。

      

  • 相关阅读:
    【转】70个经典的 Shell 脚本面试问题
    【转】最牛B的编码套路
    【转】Flex 布局语法教程
    【转】程序员7大软技能测验 你得几分?
    【转】为什么事务日志自动增长会降低你的性能
    【hive】——metastore的三种模式
    【hive】——Hive基本操作
    【hive】——Hive初始了解
    【hive】——Hive四种数据导入方式
    【hive】——Hive sql语法详解
  • 原文地址:https://www.cnblogs.com/jbelial/p/2977250.html
Copyright © 2011-2022 走看看