zoukankan      html  css  js  c++  java
  • 《改善java代码》第四章:改善关于字符串的代码

    1. 替换字符注意事项
      替换字符时,用replace() ,而不要用replaceAll();
      public class Altercharacter {
          public static void main(String[] args) {
              System.out.println( Stringutil.remove3("你我你","你"));
              System.out.println( Stringutil.remove3("$我$","$"));
          }
          static  class  Stringutil {
              static String remove(String source,String sub){
                  return source.replaceAll(sub,"");
              }
              static String remove2(String source,String sub){
                  return Pattern.compile(sub).matcher(source).replaceAll("");
              }
      
              static String remove3(String source,String sub){
                  return source.replace(sub,"");
              }
              static String remove4(String source,String sub){
                  return Pattern.compile(sub.toString(), Pattern.LITERAL).matcher(source).replaceAll(Matcher.quoteReplacement("".toString()));
              }
          }
      }
    2. String、StringBuffer、StringBuilder比较
      字符串不常变化用String
      字符串频繁变化计算,且运行在多线程环境下,用StringBuffer (StringBuffer是线程安全类)
      字符串频繁变化计算的单线程环境下,用StringBuilder

    3. 1+2+“” 的值
      public static void main(String[] args) {
      String name=1+2+"";
      System.out.println(name); //结果等于3
      String name1=""+1+2;
      System.out.println(name1); // 结果等于12
      }

      在使用加号进行计算的表达式中,只要遇到String字符串,则所有的数据都会转换为String类型进行拼接,如果是原始数据,则直接拼接,如果是对象,则调用toString方法的返回值,然后拼接

    4. 字符串拼接方法性能比较:

      str += str; //先用stringbuffer的append方法 然后toString()  ,  即str = new StringBuilder(str).append("c").toString();      toString()耗费时间      1438ms
      str = str.concat(" C");      703ms
      StringBuffer.appern("C");     //最快

  • 相关阅读:
    FusionCharts 2D柱状图和折线图的组合图调试错误
    FusionCharts 2D柱状图和折线图的组合图
    Action写法心得
    SSH2三大框架SQL查询
    JUnit4测试出错(一)
    Java兔子问题
    FusionCharts重写单系列图
    Java中的Calendar方法
    Java的Random总结
    rtsp协议详解
  • 原文地址:https://www.cnblogs.com/yaohuiqin/p/9336178.html
Copyright © 2011-2022 走看看