Java字符串操作

来源:互联网 发布:java性能优化 编辑:程序博客网 时间:2024/05/16 05:01

字符串反转

public static void main(String[] args){    String string="runoob";    String reverse = new StringBuffer(string).reverse().toString();    System.out.println("字符串反转前:"+string);    System.out.println("字符串反转后:"+reverse);}

字符串查找

public static void main(String[] args) {      String strOrig = "Google Runoob Taobao";      int intIndex = strOrig.indexOf("Runoob");      if(intIndex == - 1){         System.out.println("没有找到字符串 Runoob");      }else{         System.out.println("Runoob 字符串位置 " + intIndex);

字符串替代

static void main(String args[]){      String str="Hello World";      System.out.println( str.replace( 'H','W' ) );      System.out.println( str.replaceFirst("He", "Wa") );      System.out.println( str.replaceAll("He", "Ha");}

字符串比较

public static void main(String args[]){      String str = "Hello World";      String anotherString = "hello world";      Object objStr = str;      System.out.println( str.compareTo(anotherString) );      System.out.println( str.compareToIgnoreCase(anotherString) );        System.out.println( str.compareTo(objStr.toString()));   }

字符串分割

public static void main(String args[]){            String str = "www-runoob-com";      String[] temp;      String delimeter = "-";  // 指定分割字符      temp = str.split(delimeter); // 分割字符串      // 普通 for 循环      for(int i =0; i < temp.length ; i++){         System.out.println(temp[i]);         System.out.println("");      }      System.out.println("------java for each循环输出的方法-----");      String str1 = "www.runoob.com";      String[] temp1;      String delimeter1 = "\\.";  // 指定分割字符, . 号需要转义      temp1 = str1.split(delimeter1); // 分割字符串      for(String x :  temp1){         System.out.println(x);         System.out.println("");      }

字符串优化

public static void main(String[] args){        String variables[] = new String[50000];              for( int i=0;i <50000;i++){            variables[i] = "s"+i;        }        long startTime0 = System.currentTimeMillis();        for(int i=0;i<50000;i++){            variables[i] = "hello";        }        long endTime0 = System.currentTimeMillis();        System.out.println("直接使用字符串: "+ (endTime0 - startTime0)  + " ms" );        long startTime1 = System.currentTimeMillis();            for(int i=0;i<50000;i++){            variables[i] = new String("hello");        }        long endTime1 = System.currentTimeMillis();        System.out.println("使用 new 关键字:" + (endTime1 - startTime1) + " ms");        long startTime2 = System.currentTimeMillis();        for(int i=0;i<50000;i++){            variables[i] = new String("hello");            variables[i] = variables[i].intern();                  }        long endTime2 = System.currentTimeMillis();        System.out.println("使用字符串对象的 intern() 方法: "         + (endTime2 - startTime2)        + " ms");    }

字符串小写转大写

public static void main(String[] args) {    String str = "string runoob";    String strUpper = str.toUpperCase();    System.out.println("原始字符串: " + str);    System.out.println("转换为大写: " + strUpper);}

连接字符串

public static void main(String[] args){        long startTime = System.currentTimeMillis();        for(int i=0;i<5000;i++){            String result = "This is"            + "testing the"            + "difference"+ "between"            + "String"+ "and"+ "StringBuffer";        }        long endTime = System.currentTimeMillis();        System.out.println("字符串连接"         + " - 使用 + 操作符 : "         + (endTime - startTime)+ " ms");        long startTime1 = System.currentTimeMillis();        for(int i=0;i<5000;i++){            StringBuffer result = new StringBuffer();            result.append("This is");            result.append("testing the");            result.append("difference");            result.append("between");            result.append("String");            result.append("and");            result.append("StringBuffer");        }        long endTime1 = System.currentTimeMillis();        System.out.println("字符串连接"         + " - 使用 StringBuffer : "        + (endTime1 - startTime1)+ " ms");    }
原创粉丝点击