Java 中 String 类的常用 API 方法

Java 中 String 类的常用 API 方法

目前在工作中发现String类的中的API还是经常用的,比如在对文件的存储路径进行一些标准化的处理的时候,经常会用到截取子串等操作,所以下面对常用的API进行一些总结

1. 获取字符串长度 - length()

示例

String str = "Hello, Java!";
int length = str.length(); // 输出:12

注意事项

  • length() 方法返回字符串的字符数。
  • 返回的是字符数,而不是字节数。

2. 字符串拼接 - concat() 或 + 操作符

示例

String str1 = "Hello";
String str2 = "Java!";
String combinedStr = str1.concat(" ").concat(str2); // 输出:"Hello Java!"
// 或者
String combinedStr = str1 + " " + str2; // 输出:"Hello Java!"

注意事项

  • 字符串拼接可以使用 concat() 方法或简单的 + 操作符。
  • 在大量拼接字符串时,建议使用 StringBuilder 或 StringBuffer 以提高性能。

3. 获取指定索引位置的字符 - charAt()

示例

Copy code
String str = "Java Programming";
char character = str.charAt(5); // 获取索引为5的字符,输出:'P'

注意事项:

  • 索引从 0 开始。
  • 使用索引超出字符串长度的情况会引发 StringIndexOutOfBoundsException 异常。

4. 截取子串 - substring()

示例

String str = "Java Programming";
String subStr = str.substring(5); // 从索引5开始截取子串,输出:"Programming"
String subStr = str.substring(5, 12); // 从索引5开始截取到索引12(不包括索引12)的子串,输出:"Progra"

注意事项:

  • substring() 方法返回从指定索引开始到字符串末尾的子串。
  • 第二个参数为截取的结束位置索引(不包含)
  • 返回的子串包含起始索引处的字符,但不包含结束索引处的字符。

5. 字符串替换 - replace()

示例

String str = "I love Java";
String replacedStr = str.replace("Java", "programming"); // 替换 "Java" 为 "programming"
// 输出:"I love programming"

注意事项:

  • replace() 方法替换所有匹配的子串。
  • 不会改变原始字符串,而是返回一个新的字符串。

6. 检查字符串是否为空 - isEmpty()

示例:

String emptyStr = "";
String nonEmptyStr = "Hello";

boolean isEmpty = emptyStr.isEmpty(); // 输出:true
boolean isNonEmpty = nonEmptyStr.isEmpty(); // 输出:false

注意事项:

  • isEmpty() 方法用于检查字符串是否为空字符串。

  • 不会检查字符串是否为 null。

  • StringUtils.isNotBlank() 方法
    StringUtils.isNotBlank() 方法位于 Apache Commons Lang 库中,用于更全面地判断字符串是否为空。
    示例:

import org.apache.commons.lang3.StringUtils;
String str1 = "";
String str2 = "   ";
String str3 = "Hello";
boolean isNotBlank1 = StringUtils.isNotBlank(str1); // 输出:false
boolean isNotBlank2 = StringUtils.isNotBlank(str2); // 输出:false
boolean isNotBlank3 = StringUtils.isNotBlank(str3); // 输出:true

注意事项:

  • StringUtils.isNotBlank() 方法会过滤掉字符串中的空格字符,只要字符串中包含非空格字符,即被认为是非空。
  • 该方法通常在实际工作中更常用,因为它更全面地检查字符串是否为空,并且会过滤掉空格等空白字符,更适合实际应用场景中的字符串判空需求。
  • 在实际开发中,如果涉及到复杂的字符串判空需求,StringUtils.isNotBlank() 方法通常被视为更可靠和全面的选择

7. 检查字符串是否包含指定字符序列 - contains()

示例:

String str = "Java Programming";
boolean containsJava = str.contains("Java"); // 输出:true
boolean containsPython = str.contains("Python"); // 输出:false

注意事项:

  • contains() 方法区分大小写,返回布尔值表示是否包含指定字符序列。

8.删除字符串两端的空白字符-trim()

示例:

String str = "   Java Programming   ";
String trimmedStr = str.trim(); // 输出:"Java Programming"

注意事项:

  • trim() 方法只会删除字符串开头和结尾的空格字符,而不会影响字符串中间的空格。

9 .返回指定字符或子串在字符串中最后一次出现的位置索引-lastIndexOf()

示例:

String str = "Java is fun, Java is powerful";
int lastIndex = str.lastIndexOf("Java"); // 输出:13(最后一次出现的位置)

注意事项:

  • lastIndexOf() 方法返回指定字符或子串最后一次出现的位置索引。
  • 如果没有找到指定字符或子串,则返回 -1。

10. 获取指定字符或子串在字符串中首次出现的位置 - indexOf()

示例:

String str = "Java is fun, Java is powerful";
int firstIndex = str.indexOf("Java"); // 输出:0(第一次出现的位置)

注意事项:

  • indexOf() 方法返回第一次出现的位置索引,如果没有找到,返回 -1。

10. 分割字符串,结果以字符串数组的形式返回- split()

示例:

String text = "apple,orange,banana,grape";
String[] fruits = text.split(","); // 使用逗号进行分割,结果为 {"apple", "orange", "banana", "grape"}

// 另一个示例,限制分割后的数组长度为 2
String[] parts = text.split(",", 2); // 结果为 {"apple", "orange,banana,grape"}

public String[] split(String regex, int limit)

  • regex 是一个正则表达式,它定义了分割字符串的规则。字符串将根据这个规则被分割成多个子字符串。
  • limit 参数是一个整数,表示分割后返回的字符串数组的最大长度。如果提供的 limit 大于 0,则分割的子字符串数量最多为 limit - 1。如果 limit 小于等于 0,则将忽略限制,返回所有可能的分割结果。

你可能感兴趣的:(java基础,java,python,开发语言)