zoukankan      html  css  js  c++  java
  • StringBuilder的使用与总结

    StringBuilder 用于解决字符串频繁修改带来的内存消耗
    所以将来有频繁修改字符串内容这样的操作时,首先使用StringBuiler

     1 public class demo01 {
     2     public static void main(String[] args) {
     3         //内部默认为空字符串
     4         StringBuilder builder = new StringBuilder();
     5         
     6         //内部默认为HelloWorld
     7         StringBuilder builder1 = new StringBuilder("HelloWorld");
     8         
     9         //append用于在字符串末尾追加
    10         builder.append("Try your best to learn Java");
    11         
    12         //replace用于替换
    13         builder.replace(23,28,"js");//Try your best to learn js
    14         String str = builder.toString();
    15         System.out.println(str);
    16         
    17         builder.delete(0, 4);//your best to learn js
    18         String str1 = builder.toString();
    19         System.out.println(str1);
    20         //插入操作
    21         builder.insert(0, "we ");//we   your best to learn js
    22         String str2 = builder.toString();
    23         System.out.println(str2);
    24     }
    25 }

    builder.reverse()翻转字符串

     1 /**
     2  * builder.reverse()翻转字符串
     3  * @author Administrator
     4  *判断回文
     5  */
     6 public class demo02 {
     7     public static void main(String[] args) {
     8         String str = "雾锁山头山锁雾";
     9         StringBuilder builder = new StringBuilder(str);
    10         builder.reverse();
    11         String str1 = builder.toString();
    12         if(str.equals(str1)){
    13             System.out.println("yes");
    14         }
    15         else{
    16             System.out.println("no");
    17         }
    18     }
    19 }

    总结:

    StringBuilder 是可变字符串,字符串的内容计算建议采用StringBuilder实现,这样性能会好一些;

    java的字符串连接过程是利用StringBuilder实现的

    String s ='ab';
    String s1 = s+'de'+1;
    String s1 = new StringBuilder(s).append("de").append("1").toString();

    StringBuffer是线程安全的,同步处理,性能稍慢;

    StringBuilder是非线程安全的,并发处理,性能稍快;

  • 相关阅读:
    栈的经典运用-求值数学表达式
    java中Stack的源码解析
    java-背包的实现
    数据库的事务的特性及隔离级别
    EnumMap的用法和源码解析
    java final关键字的解析
    java中的static关键字解析
    XPath如何定位dom节点
    java 枚举(enum) 详细用法
    jdk动态代理
  • 原文地址:https://www.cnblogs.com/zflovezk9/p/6783727.html
Copyright © 2011-2022 走看看