39.Java-String(字符串相关)

public class StringDemo {
    public static void main(String[] args) {
        
        //testForCharSequence();
        //testForEx();
        //testForStringUtil();
        //testForStringBulider();
        //testForStringBuffer();
    }

    private static void testForCharSequence() {
        // TODO Auto-generated method stub
        char[] charArr = new char[]{65,66,67,68,69,70};
        System.out.println(charArr.length);
        
        String str = "ABCDEF";
        CharSequence arr = str.subSequence(0, 3);
        System.out.println(arr.toString());
    }

    private static void testForEx() {
        // TODO Auto-generated method stub
        
        String str = "abc.bcd.efg.txt";
        //String[] arr = str.split(".");//.和|都是转义字符,必须加\\
        String[] arr = str.split("\\.");
        for (String s : arr) {
            System.out.println(s);
        }
    }

    private static void testForStringUtil() {
        // TODO Auto-generated method stub
        String str = "ABACDEAFGHAIJK";
        
        //通过索引获取字符
        System.out.println(str.charAt(0));
        
        //通过字符获取索引,第一次出现的
        System.out.println(str.indexOf('A'));
        
        //替换字符
        String newstr = str.replace("A", "$");
        System.out.println(newstr);
    }

    private static void testForStringBulider() {
        // TODO Auto-generated method stub
        long time1 = System.currentTimeMillis();
        
        StringBuilder strbud = new StringBuilder();
        
        for (int i = 0; i < 1000000; i++) {
            strbud.append("A");
        }
        
        long time2 = System.currentTimeMillis();
        
        System.out.println(time2-time1);
    }

    private static void testForStringBuffer() {
        // TODO Auto-generated method stub
        
        /*Date date = new Date(System.currentTimeMillis());
        System.out.println(date.toLocaleString());*/
        
        long time1 = System.currentTimeMillis();
        
        StringBuffer strbuf = new StringBuffer();
        
        for (int i = 0; i < 1000000; i++) {
            strbuf.append("A");
        }
        
        long time2 = System.currentTimeMillis();
        
        System.out.println(time2-time1);
    }
}

/*
 * 转义字符的使用
 (3)显然,+ * 不是有效的模式匹配规则表达式,用"\\*" "\\+"转义后即可得到正确的结果。 
(4) "|" 分隔串时虽然能够执行,但是却不是预期的目的,"\\|"转义后即可得到正确的结果。 
(5)还有如果想在串中使用""字符,则也需要转义.首先要表达"aaaa\bbbb"这个串就应该用"aaaa\\bbbb",如果要分隔就应该这样才能得到正确结果: 
String[] aa = "aaa\\bbb\\bccc".split(\\\\); 
(6) 还有就是点号".",也要首先转义才能得到正确的结果。
 * */

你可能感兴趣的:(39.Java-String(字符串相关))