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

  • 相关阅读:
    查看linux系统cup及内存信息
    caffe tutorial
    vector 初始化方法
    c++ 常用函数头文件
    caffe——全连接层inner_product_layer
    c++ 将vector转化为数组
    基于 Ubuntu 搭建 RoCE 实践环境
    基于QEMU使用 u-boot 拉取 Linux 内核
    Linux 网桥(Bridge)实践环境搭建
    使用 qemu 模拟器运行 aosp(基于 x86-64 Linux 内核)
  • 原文地址:https://www.cnblogs.com/yaohuiqin/p/9336178.html
Copyright © 2011-2022 走看看