zoukankan      html  css  js  c++  java
  • 字符串拼接代码规范 转需

    String  StringBuffer StringBuilder

    一、String类型的拼接  

         String str="爱我还是他";
            str.concat("我已看不到我们的好");  
            System.out.println(str);    //"爱我还是他"

      String的concat方法只会返回拼接括号内数据后的字符串,但是这个String类型的本身并不受影响。

         String str="爱我还是他";
            str=str+",我已看不到我们的好";
            System.out.println(str);    //“爱我还是他,我已看不到我们的好”

      这里的拼接符不能所在的表达式不能单独存在,必须有赋值操作。

    二、StringBuffer类型的拼接  

         StringBuffer sb=new StringBuffer("爱我还是他");
            sb.append("。");
            System.out.println(sb.toString());  //“爱我还是他。”
            sb.insert(0, "你都已看不到我们的好,");    //这里前一个参数是插入的下标,后一个参数是插入的数据
            System.out.println(sb.toString());  //“你都已看不到我们的好,爱我还是他。”

       可以看到,只要运用的append或insert方法,那么StringBuffer本身的值就会改变,而不用重新赋值。

    三、StringBuilder类型的拼接

         StringBuilder sb=new StringBuilder("爱我还是他");
            sb.append("。");
            System.out.println(sb.toString());
            sb.insert(0, "你都已看不到我们的好,");
            System.out.println(sb.toString());

      StringBuilder比StringBuffer运行速度要快,因为StringBuilder是针对于单线程的,所这它是非线程安全的。普通情况下建议使用StringBuilder。

    --------------------------------------------------------------------------------------------------------------------------------------------------------

    StringBuilder 没有提供clear或empty方法。
    清空有3种方法:
    1)新生成一个,旧的由系统自动回收
    2)使用delete
    3)使用setLength

       StringBuilder sb2 = new StringBuilder();

      sb.delete( 0, sb.length() );

           sb3.setLength( 0 );       

    for循环中第二种效率最高     不同字符串的情况下

    当能力支撑不了野心时,就该静下心来学习!
  • 相关阅读:
    年度回忆录(2012.102013.01)
    Java中的Annotation(1)三个基本Annotation
    Java7中的文件和目录管理Path类
    Struts1和Struts2核心控制器的执行原理
    java中的IO基础3
    动态代理(2)动态代理和AOP
    java中的IO基础
    《嫌疑犯x的献身》看完了。。。
    像NHibernate致敬ado.net entity framework的范型DAO和open session in view实现
    我的MBTI职业性格测试
  • 原文地址:https://www.cnblogs.com/1234cjq/p/6676663.html
Copyright © 2011-2022 走看看