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");     //最快

  • 相关阅读:
    [NOI2001]炮兵阵地
    POJ 2411 Mondriaan's Dream
    【模板】割点(割顶)
    [Noip2007]Core树网的核
    2018.09.09模拟总结
    2018.09.08模拟总结
    [USACO11JAN]Roads and Planes
    最优贸易
    [USACO08JAN]Telephone Lines
    Calabash(葫芦娃)
  • 原文地址:https://www.cnblogs.com/yaohuiqin/p/9336178.html
Copyright © 2011-2022 走看看