String类的常用方法

public class StringTest{ 

  @Test 

  public  void test01(){ 

      String str1="abcd"; 

      String str2="ABCD";   

      System.out.println("字符串的长度:"+str1.length());

       System.out.println("比较两个字符串的内容:"+str1.equals(str2));

       System.out.println("比较两个字符串的内容(忽略大小写):"+str1.equalsIgnoreCase(str2));

       System.out.println("把str1变成大写:"+str1.toUpperCase()); 

      System.out.println("把str2变成小写:"+str1.toLowerCase());

 }

 @Test

   public  void test02(){ 

       String str1="abcd"; //把字符串转换成 字符数组
       char[] arrays = str1.toCharArray(); 

       for (int i = 0; i < arrays.length; i++) { 

            System.out.println(arrays[i]); 

   }

 } 

 @Test 

   public  void test03(){

         String str1="a+b+c+d"; // ^[0-9]{11}$ 正则表达式 !! //根据指定的规则 把字符串拆分成 字符串 数组
        String[] split = str1.split("\+"); 

        for (int i = 0; i < split.length; i++) { 

           System.out.println(split[i]);

        }

 }    

 @Test

  public  void test04(){ 

        String str1="12345@qq.com"; //查询@在字符串中出现的位置
        int  index=str1.indexOf("@");   //下标从0开始
        System.out.println("@在字符串中出现的位置:"+index); //查询q在字符串中最后一次出现的位置
        int  index2=str1.lastIndexOf("q"); 

       System.out.println("q在字符串中最后一次出现的位置:"+index2); 

    //获取@之后的所有字符串 subString(int beginIndex) 包含beginIndex
        System.out.println("获取@之后的所有字符串:"+str1.substring(index+1));

   /* * 查询 qq * subString(int beginIndex,int endIndex) * 01.找到点的位置 * 02.不包含 endIndex */
        int  index3=str1.indexOf("."); 

       String result = str1.substring(index+1, index3); 

       System.out.println("result====>"+result);

 }

 @Test

   public  void test05(){ 

          String str1=" abc def "; 

          System.out.println("空格计算长度:"+str1.length()); 

        //去除字符串两边的空格 
          str1=str1.trim();

          System.out.println("去除空格之后内容:"+str1); 

          System.out.println("去除空格之后:"+str1.length()); 

 }

 @Test

   public  void test06(){ 

        String str1="abcdef";

        //把a替换成6
        str1 = str1.replace("a", "6"); 

        System.out.println(str1); 

        //是否以6开始
        System.out.println("是否以6开始:"+str1.startsWith("6")); 

       System.out.println("是否以a开始:"+str1.endsWith("a")); 

 }

  @Test 

   public  void test07(){ 

        String str1="abcdef"; 

        //截取一个字符 返回值是char
        char a =str1.charAt(3); 

        System.out.println(a);

  }

 @Test 

  public  void test08(){ 

         String str1="abcdef"; 

         //将字符存储在字节数组中
         byte[] bytes = str1.getBytes(); 

         for (byte b : bytes) { 

               System.out.println((char)b); 

  }

 } 

 @Test

   public  void test09(){ 

        String str1="abc";

        String str2="def";

        //之前的字符串相加
        System.out.println(str1+str2);

       //现在concat(String str)
         System.out.println(str1.concat(str2)); 

 }

  @Test

   public  void test10(){

          String str1="abc"; 

         //是否包含某个指定的字符
        System.out.println("是否包含a这个字符:"+str1.contains("a")); 

   }

 } 

   
String,StringBuffer,StringBuilder三者区别



 /* * String, StringBuffer ,StringBuilder三者的区别

 * 01.在执行速度 * StringBuilder > StringBuffer > String

 * 02.StringBuilder:多线程不安全,适合单线程 

* StringBuffer:线程安全

 * String : 数据量小的时候使用

 * 03.String 是不可变的! 每当我们操作字符串的时候,都会创建一个新的对象!

 * StringBuilder,StringBuffer当我们操作字符串的时候,实际上是在操作一个对象!

*/ 

   @Test

  public  void test11(){ 

   //01.定义变量
        String   name="xiaohei";

  //02.定义操作字符串的次数
        int  count=2000000; 

  //03.设置开始时间
        long beginTime=System.currentTimeMillis(); 

      for (int i = 0; i <count/100; i++) {

           name+="haha"; 

 } 

    //03.设置结束时间
        long endTime=System.currentTimeMillis(); 

      System.out.println("String的执行时间:"+(endTime-beginTime)); 

       System.out.println("****************************");

        name="xiaohei";

   //04.使用StringBuffer
        StringBuffer buffer=new StringBuffer(name);

         beginTime=System.currentTimeMillis();

         for (int i = 0; i <count; i++) {

             buffer=buffer.append("haha"); 

  } 

       endTime=System.currentTimeMillis(); 

      System.out.println("StringBuffer的执行时间:"+(endTime-beginTime));

      System.out.println("****************************");

      name="xiaohei"; 

      //05.使用StringBuilder
        StringBuilder builder=new StringBuilder(name); 

         beginTime=System.currentTimeMillis(); 

       for (int i = 0; i <count; i++) {

        builder=builder.append("haha");

  } 

    endTime=System.currentTimeMillis();

    System.out.println("StringBuilder的执行时间:"+(endTime-beginTime)); } 

  

原文地址:https://www.cnblogs.com/HHR-SUN/p/7015681.html