• 学习String类


    1. 描述: String类是java中比较常用的类, 表示字符串类型

       当拼接大量数据时, String类性能没有StringBuilder和StringBuffer性能高

    2. 常用的String语法:

        

    import org.junit.Test;
    
    public class StringTest {
        @Test
        public void testString() {
            String s1 = new String("AA");
            System.out.println(s1); // AA
    
            String s2 = "AA";
            System.out.println(s2); // AA
            // 获取字符串某个索引位置的字符
            char c = "abcd".charAt(2);
            System.out.println(c); // c
    
            // 拼接字符串
            String s3 = "abc".concat("123");
            String s4 = "abc" + 123;
            String s5 = String.format("%s啊啊撒%d", "abc", 123);
            System.out.println(s3); // abc123
            System.out.println(s4); // abc123
            System.out.println(s5); // abc啊啊撒123
    
            // 判断字符串是否包含指定的字符
            boolean b1 = "azxc".contains("x");
            boolean b2 = "azxc".contains("s");
            System.out.println(b1 + "-----" + b2); // true-----false
            // 判断字符串是否 以...结尾
            boolean b3 = "azxc".endsWith("xc");
            System.out.println(b3); // true
            // 判断字符串是否相等
            boolean b4 = "az".equals("az");
            boolean b5 = "az".equals("aZ");
            System.out.println(b4 + "----" + b5); // true-----false
    
            // 判断字符串是否相等(忽略大小写)
            boolean b6 = "ac".equalsIgnoreCase("Ac");
            System.out.println(b6); // true
            // 获取字符串长度
            int length = "abc".length();
            System.out.println(length); // 3
            // 正则匹配
            String regex = "\d+";
            boolean b7 = "123".matches(regex);
            System.out.println(b7); // true
    
            String regex1 = "[a-zA-Z]+";
            boolean b8 = "aaBFc".matches(regex1);
            System.out.println(b8); // true
            String regex2 = "^a.*";
            boolean b = "aabFdx".matches(regex2);
            System.out.println(b); // true
            String regex3 = "^a.*d$";
            boolean b9 = "aabFda".matches(regex3);
            System.out.println(b9); // false
    
            // 字符串替换
            String s = "aabxdsca".replace('a', '2');
            System.out.println(s); // 22bxdsc2
            // 将字符串以...分割成字符串数组
            String regex4 = "\d+";
            String[] strArr = "aa12bbyb34asd".split(regex4);
            for (String s6 : strArr) {
                System.out.println(s6);
                /**
                 * aa
                 * bbyb
                 * asd
                 */
            }
            // 以...开头
            boolean b10 = "cmfdsaaa".startsWith("cm");
            System.out.println(b10); // true
            // 从指定位置截取到字符串末尾
            String s6 = "abcdefg".substring(2);
            System.out.println(s6); // cdefg
    
            // 字符串从指定的开始位置截取到指定的结束位置
            String s7 = "asdffgeaszx".substring(2, 6);
            System.out.println(s7); // dffg
            // 将字符串转换成小写
            String s8 = "ACDdsx".toLowerCase();
            // 将字符串转换成大写
            String s9 = "ACDdsx".toUpperCase();
            System.out.println(s8); // acddsx
            System.out.println(s9); // ACDDSX
            // 将字符串两端的空格去掉,中间的空格不会去掉
            String s10 = "    dud  sda  sad  ".trim();
            System.out.println(s10); // dud  sda  sad
            // 将int类型转换成字符串
            String s11 = String.valueOf(1024);
            System.out.println(s11); // 1024
        }
    
        /**
         * StringBuilder 拼接字符串速度最快, 线程不安全,因为底层方法没有用synchronized修饰
         */
        @Test
        public void testStringBuilder() {
            StringBuilder sb = new StringBuilder();
            sb.append("aa").append("vss").append(13).append("adsa").append("dfsfd").toString();
            String s = sb.toString();
            System.out.println(s); // aavss13adsadfsfd
        }
    
        /**
         * StringBuffer 拼接字符串速度比较快, 线程安全, 底层方法都是用synchronized修饰
       * , 用synchronized修饰表示线程安全,但是速度没那么快
    */ @Test public void testStringBuffer() { StringBuffer sb = new StringBuffer(); sb.append("aa").append("asdas").append(123).toString(); String s = sb.toString(); System.out.println(s); // aaasdas123 } }
  • 相关阅读:
    精彩的“利益均衡”,尤其是“四”
    用搭积木的方式开发
    从公司层面看信息管理中的问题
    广义信息结构
    Cephfs创建及挂载
    对各类术语表进行记录
    weixin报警脚本
    shell 实现mysql写入操作
    python生成图片
    python实现路由追踪,并生成追踪图片
  • 原文地址:https://www.cnblogs.com/zengqinghong/p/11701113.html
Copyright © 2020-2023  润新知