方法的工作原理
split
方法首先检查字符串中是否存在指定的分隔符。如果存在,它会在每个分隔符处切割字符串,生成一个新的字符串数组。如果字符串中没有指定的分隔符,或者分隔符是非空字符但在字符串中不存在,则 split
方法会返回一个包含单个元素的数组,该元素就是原始字符串本身。
方法的变体和选项
split
方法还有一个可选的整数参数,用于指定最大分割次数。如果省略这个参数或者设置为负数(通常是 -1
),则方法会进行无限次分割,直到遇到最后一个分隔符为止。如果指定了一个非负整数作为最大分割次数,则 split
方法将最多进行这么多次分割,即使字符串中有更多的分隔符。
举例如下:
public class Main {
public static void main(String[] args) {
//默认分割(无限制)
String str1 = "apple-banana-cherry-date";
String[] arr1 = str1.split("-");
for (String element : arr1) {
System.out.println(element);
}
System.out.println("*************************************************");
//指定最大分割次数(正数)
String str2 = "apple-banana-cherry-date";
String[] arr2 = str2.split("-", 2);
for (String element : arr2) {
System.out.println(element);
}
System.out.println("*************************************************");
//指定最大分割次数(负数)
String str3 = "apple--banana---cherry--date";
String[] arr3 = str3.split("-", -1);
for (String element : arr3) {
System.out.println(element);
}
}
}
运行结果如图: