Android开发 - String 类常用的主要方法解析

  • string.length():得到字符串的长度(字符的个数)

    String str = "Hello World";
    int len = str.length();  // len 的值是 11
    System.out.println(len); // 输出:11
    
    • Hello World 中有 11 个字符(包括空格),所以 length() 返回 11
  • string.charAt(int index):得到字符串中指定索引处字符

    String str = "Hello";
    char ch = str.charAt(1);  // ch 的值是 'e'
    System.out.println(ch);   // 输出:e
    
    • Hello 中,索引 1 处的字符是 e索引 0 处的字符则是 H
    • 参数解析
      • indexint 类型,表示字符字符串中的索引(从 0 开始)
  • string.substring(int beginIndex):得到从指定起始位置到字符串末尾子字符串

    String str = "Hello World";
    String sub1 = str.substring(6);        // sub1 的值是 "World"
    System.out.println(sub1);              // 输出:World
    
    • str.substring(6) 得到从索引 6 开始到末尾子字符串 World
    • 参数解析
      • beginIndexint 类型,子字符串开始位置索引(包括在内)
  • string.substring(int beginIndex, int endIndex):得到从指定起始位置到结束位置之间子字符串(不包括结束位置的字符)

    String str = "Hello World";
    String sub2 = str.substring(0, 5);     // sub2 的值是 "Hello"
    System.out.println(sub2);              // 输出:Hello
    
    • str.substring(0, 5) 得到从索引 0 到索引 5 之前子字符串 Hello
    • 参数解析
      • beginIndexint 类型,子字符串开始位置索引(包括在内)
      • endIndexint 类型,子字符串结束位置索引(不包括在内)
  • string.indexOf(String str):得到指定子字符串在原字符串中第一次出现索引位置。如果没有找到,则得到 -1

    String str = "Hello World";
    int index1 = str.indexOf("o");       // index1 的值是 4
    System.out.println(index1);          // 输出:4
    
    • Hello World 中,第一个 o索引是 4
    • 参数解析
      • strString 类型,表示要查找的子字符串
  • string.lastIndexOf(String str):得到指定子字符串在原字符串中最后一次出现索引位置。如果没有找到,则得到 -1

    String str = "Hello World";
    int index2 = str.lastIndexOf("o");   // index2 的值是 7
    System.out.println(index2);          // 输出:7
    
    • Hello World 中,最后一个 o索引是 7
    • 参数解析
      • strString 类型,表示要查找的子字符串
  • string.toUpperCase():将所有字符串转换为大写

    String str = "Hello World";
    String upper = str.toUpperCase();    // upper 的值是 "HELLO WORLD"
    System.out.println(upper);           // 输出:HELLO WORLD
    
  • string.toLowerCase():将所有字符串转换为小写

    String str = "HELLO WORLD";
    String lower = str.toLowerCase();    // lower 的值是 "hello world"
    System.out.println(lower);           // 输出:hello world
    
  • string.trim():去除字符串两端空白字符(空格、制表符等)

    String str = "  Hello World  ";
    String trimmed = str.trim();         // trimmed 的值是 "Hello World"
    System.out.println(trimmed);         // 输出:Hello World
    
    • Hello World 中的前后空格trim() 方法去掉了
  • string.replace(char oldChar, char newChar):将字符串中所有出现指定字符替换为新字符

    String str = "Hello World";
    String replaced1 = str.replace('o', 'a');    // replaced1 的值是 "Hella Warld"
    System.out.println(replaced1);               // 输出:Hella Warld
    
    • 参数解析

      • oldCharchar 类型,表示要替换旧字符

      • newCharchar 类型,表示替换后新字符

  • string.replace(String oldStr, String newStr):将字符串中所有出现指定子字符串替换为新的子字符串

    String str = "Hello World";
    String replaced2 = str.replace("World", "Java"); // replaced2 的值是 "Hello Java"
    System.out.println(replaced2);               // 输出:Hello Java
    
    • 参数解析

      • oldStrString 类型,表示要替换旧子字符串

      • newStrString 类型,表示替换后新子字符串

  • string.equals(Object obj)比较两个字符串内容是否相等(区分大小写)

    String str1 = "Hello";
    boolean result1 = str1.equals(str2);           // result1 的值是 false
    System.out.println(result1);                   // 输出:false
    
    • equals() 比较区分大小写,所以 Hellohello 不相等
    • 参数解析
      • objObject 类型,表示要比较对象(通常是另一个字符串)
  • string.equalsIgnoreCase(String anotherString)比较两个字符串内容是否相等(不区分大小写)

    String str1 = "Hello";
    String str2 = "hello";
    boolean result2 = str1.equalsIgnoreCase(str2); // result2 的值是 true
    System.out.println(result2);                   // 输出:true
    
    • equalsIgnoreCase() 比较不区分大小写,所以 Hellohello 相等
    • 参数解析
      • anotherStringString 类型,表示要比较另一个字符串
  • string.startsWith(String prefix):判断字符串是否以指定前缀开始

    String str = "Hello World";
    boolean start = str.startsWith("Hello");  // start 的值是 true
    System.out.println(start);                // 输出:true
    
    • string.startsWith("Hello") 判断字符串是否Hello 开头,返回 true
    • 参数解析
      • prefixString 类型,表示要检查前缀
  • string.endsWith(String suffix):判断字符串是否以指定后缀结束

    String str = "Hello World";
    boolean end = str.endsWith("World");      // end 的值是 true
    System.out.println(end);                  // 输出:true
    
    • string.endsWith("World") 判断字符串是否World 结尾,返回 true
    • 参数解析
      • anotherStringString 类型,表示要检查后缀
  • string.split(String regex):根据指定的正则表达式将字符串分割若干部分,返回一个字符串数组

    String str = "apple,banana,cherry";
    String[] fruits = str.split(",");  // fruits 数组包含 ["apple", "banana", "cherry"]
    for (String fruit : fruits) {
        System.out.println(fruit);
    }
    
    /** 
    输出
    apple
    banana
    cherry
    **/
    
    • split(",") 使用逗号作为分隔符,将字符串分割多个部分
    • 参数解析
      • regexString 类型,表示用来分割字符串正则表达式
  • string.format(String format, Object... args):用于创建一个格式化字符串,并将指定的对象格式化字符串表示形式。它类似C 语言printf 功能

    String name = "Alice";
    int age = 25;
    double height = 5.8;
    
    // 格式化字符串,输出包含姓名、年龄和身高的信息
    String formattedString = String.format("Name: %s, Age: %d, Height: %.1f", name, age, height);
    System.out.println(formattedString);  // 输出:Name: Alice, Age: 25, Height: 5.8
    
    • %s 用于插入字符串类型变量 name

    • %d 用于插入整数类型变量 age

    • %.1f 用于插入浮点数类型变量 height,并指定小数点显示 1 位

    • 参数解析

      • formatString 类型,表示格式化字符串,其中包含格式化说明符
      • argsObject... 类型,表示可变参数列表,包含要格式化对象
    • 常用的格式化说明符

      • %s字符串

      • %d整数

      • %f浮点数

      • %x十六进制整数

      • %o八进制整数

      • %n平台独立的换行符

  • string.contains(CharSequence s):用于判断字符串中是否包含指定字符序列

    String str = "Hello World";
    boolean result = str.contains("World"); // result 的值是 true
    System.out.println(result);             // 输出:true
    
    • Hello World 包含子字符串 World,因此 contains 方法返回 true

    • 参数解析

      • sCharSequence 类型,表示要查找字符序列(如字符串、StringBuilder 等)
  • string.isEmpty():用于判断字符串是否为空(长度为 0)

    String str1 = "";
    String str2 = "Hello";
    boolean isEmpty1 = str1.isEmpty(); // isEmpty1 的值是 true
    boolean isEmpty2 = str2.isEmpty(); // isEmpty2 的值是 false
    System.out.println(isEmpty1);      // 输出:true
    System.out.println(isEmpty2);      // 输出:false
    
    • str1 是一个空字符串,因此 isEmpty() 返回 truestr2 不是空字符串,因此返回 false
  • string.valueOf(...):用于将不同类型值(如 int、double、char 等)转换字符串

    int number = 100;
    String strNumber = String.valueOf(number);
    System.out.println(strNumber); // 输出:100
    
    • valueOf 方法int 类型number 转换字符串 100
    • 参数解析
      • ...:可以是多种基本数据类型对象类型(如 int、double、boolean、char、Object` 等)
  • string.join(CharSequence delimiter, CharSequence... elements):用于将多个字符串字符序列指定分隔符连接成一个字符串

    String joinedString = String.join("/", "apple", "banana", "cherry");
    System.out.println(joinedString); // 输出:apple/banana/cherry
    
    • join 方法/ 分隔符applebananacherry 连接成一个字符串

    • 参数解析

      • delimiterCharSequence 类型,表示分隔符
      • elementsCharSequence... 类型,表示要连接多个字符序列
posted @ 2024-08-26 21:17  阿俊学JAVA  阅读(77)  评论(0编辑  收藏  举报