String(字符串)之常用方法

在Java中,String是一个引用类型,它本身是一个class。Java编译器对String有特殊处理,可直接用"..."来表示一个字符串

string s = "..."
Java字符串的一个重要特点就是字符串不可变
String s1 = "hello";
String s2 = "hello";
System.out.println(s1 == s2);       // true  比较地址
System.out.println(s1.equals(s2));  // true  比较值

两个字符串用==equals()比较都为true,但实际上只是Java编译器在编译期,会自动把所有相同的字符串当作一个对象放入常量池,自然s1s2的引用就是相同的

s1.indexOf("l"); //从左开始遍历 返回出现第一次 'l'在其的下标
s1.lastIndexOf("l");            //从右开始遍历  返回出现第一次 'l'在其的下标
s1.startsWith("he");                //判断字符串以 "" 开始
s1.endsWith("lo");                  //判断字符串以 "" 结束
        //是否包含子串
        s1.contains("l");
        //截取
        s1.substring(2);   //返回 [2,:]
        s1.substring(2,4); //返回 [2,4)
        //去除首尾空白字符  包括: 空格, \r \n \t
        s1.trim();  //并没改变字符串内容,返回了一个新的字符串

        s1.isEmpty(); //是否为空, 字符串长度为0 即是空

        //替换字符串
        String str = "A,B,C,D";
        str.replaceAll("",","); //通过正则替换
        str.replace("","");    //直接替换

        //分割字符串
        String[] splits = str.split(",");

        //拼接字符串
        String[] arr = {"A","B","C"};
        String join = String.join("*", arr);

        /* 类型转换 */
        // 其他类型 -> string
        String.valueOf(123);
        String.valueOf('c');
        String.valueOf(true);
        String.valueOf(new Object());
        // string -> int
        Integer.parseInt(str);
        Integer.parseInt(str,16); // 按16进制转换
        // string -> boolean
        Boolean.parseBoolean("true");
        // string -> char[]
        char[] charArray = str.toCharArray();
        String s = new String(charArray);

 

你可能感兴趣的:(Java)