美文网首页
String类常用方法

String类常用方法

作者: 竹鼠不要中暑 | 来源:发表于2019-02-20 21:32 被阅读7次

    compareTo

    比较两个字符串,返回值为整数。

    • 比较规则为:
      • 取出两个字符串的长度,比较较小的长度内,两者是否相等:
        • 不相等,则直接返回该位置字符的ASCII码相减后的值
        • 若各位置都相等,则将两个字符串长度的差值返回。
    • 语法:
    string.compareTo(String anotherString)
    
    • 示例:
    public class Test {
    
        public static void main(String[] args) {
            String str1 = "abc";
            String str2 = "abc";
            String str3 = "abcd";
            String str4 = "aBd";
    //        两字符串相等,返回0:
            System.out.println(str1.compareTo(str2)); // 0
    //        两字符串在较短的字符串的长度范围内相等,返回两字符串长度的差值:
            System.out.println(str2.compareTo(str3)); // -1
    //        两字符串在较短的字符串的长度范围内不相等,返回第一个不相等索引出的字符的ASCII的差值:
            System.out.println(str3.compareTo(str4)); // 32
        }
    }
    

    concat

    和JavaScript中的concat方法用法相同,Java中的concat同样用来连接两个字符串。

    • 语法:
    string.concat(anotherString)
    

    其中:

    1. 返回值为一个新字符串;
    2. 新字符串中anotherString连接在string后;
    3. anotherString长度为0,则直接返回原字符串string
    • 示例:
    public class Test {
    
        public static void main(String[] args) {
            String str1 = new String("hello");
            String str2 = "-world";
            String str3 = "";
            String str4 = new String("hello");
    //        str2拼接在str1后:
            System.out.println(str1.concat(str2)); // "hello-world"
    //        返回值为新字符串,原字符串不变:
            System.out.println(str1); // "hello"
            System.out.println(str2); // "-world"
    //        若要拼接的字符串(str3)长度为0,则直接返回原字符串(str1):
            System.out.println(str1.concat(str3) == str1); // true
            System.out.println(str1 == str4); // false
    //        返回值为新字符串:
            System.out.println(str3.concat(str1) == str1); // false
    
        }
    }
    

    equals

    equals方法在Object类常用方法中学习中,知道了String类的equals方法被重写了,只比较两个字符串的内容是否相等,相等返回true,不相等返回false
    有两点:

    • 两个比较的对象是字符串
    • 比较字符串的内容
      若其中一个比较对象不是字符串,即使两对象内容相等,也返回false
      还有两一个String类方法,可以忽略比较对象的类型--contentEquals
    • 示例:
    public class Test {
    
        public static void main(String[] args) {
            String str1 = new String("hello");
            String str2 = new String("hello");
            StringBuilder str3 = new StringBuilder("hello");
            System.out.println(str1.equals(str2)); // true
            System.out.println(str1.equals(str3)); // false
            System.out.println(str1.contentEquals(str3)); // true
        }
    }
    

    join

    join方法用于把一个字符串数组或List以指定连接符连接为一个新的字符串。

    • 语法:
    String.join(连接符,字符串数组或List)
    
    • 示例:
    import java.util.Arrays;
    import java.util.List;
    
    public class Test {
    
        public static void main(String[] args) {
            String[] arrayStr = {"h", "e", "l", "l", "o"};
            List<String> listStr = Arrays.asList("h", "e", "l", "l", "o");
            System.out.println(String.join("", arrayStr)); // "hello"
            System.out.println(String.join("-", listStr)); // "h-e-l-l-o"
    //        使用反斜杠做连接符时要转义:
            System.out.println(String.join("\\", arrayStr)); // "h\e\l\l\o"
        }
    }
    

    可以连接就可以再拆分,和JavaScript中一样,使用split方法。

    其他方法

    split

    • 示例:
    public class Test {
    
        public static void main(String[] args) {
            String str = "h e l l o";
            String[] arrayStr = str.split(" ");
            for (int i = 0; i < arrayStr.length; i++) {
                System.out.println(arrayStr[i]);
            }
        }
    }
    
    • 输出:
    h
    e
    l
    l
    o
    
    • 若以*, |, \, +, .等特殊字符为分隔符,则需进行转义,在字符前加\\,如:\\*
    • 若同时以多个分隔符进行分割,则可使用|,如:str.split(",|-"),同时分隔,-

    trim

    用于删除字符串的头尾空白符。

    • 示例
    public class Test {
    
        public static void main(String[] args) {
            String str = "  hello world!  ";
            System.out.println(str);
            System.out.println(str.trim());
        }
    }
    
    • 输出:


      image.png

    isEmpty

    判断字符串是否为空,字符串为空返回true,不为空返回false,字符串若为null则报错。

    • 示例:
    public class Test {
    
        public static void main(String[] args) {
            String str = "  hello world!  ";
            String str2;
            String str3 = new String();
            String str4 = "";
            System.out.println(str.isEmpty()); // false
            System.out.println(str2.isEmpty()); // 报错
            System.out.println(str3.isEmpty()); // true
            System.out.println(str4.isEmpty()); // true
    
        }
    }
    

    相关文章

      网友评论

          本文标题:String类常用方法

          本文链接:https://www.haomeiwen.com/subject/yaqkyqtx.html