zoukankan      html  css  js  c++  java
  • 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));
            
        }
  • 相关阅读:
    js格式化货币金额
    Mac idea maven 创建web项目
    The string "--" is not permitted within comments.
    Java从数据库读取页面树形菜单
    oracle 查询重复数据并且删除, 只保留一条数据重复数据
    SSM框架---使用MyBatis Generator自动创建代码
    前端 NPM常用命令行
    前端常用命令行
    Angular 常用命令行
    JS/JQuery 文档加载完成
  • 原文地址:https://www.cnblogs.com/999-/p/6043919.html
Copyright © 2011-2022 走看看