Java 谁能帮助澄清这个api';什么样的行为?

Java 谁能帮助澄清这个api';什么样的行为?,java,Java,我有很多顾虑,为什么这个代码段会这样工作 System.out.println(Arrays.toString(“ab.split”(\\s?”)) 为什么结果中有一个额外的中间“?如果您的输入按空格(“”)分割数字 您可以使用分隔符作为空格来删除空格 class Test { public static void main(String args[]) { System.out.println(Arrays.toString("a b".split("\\s? \\s?

我有很多顾虑,为什么这个代码段会这样工作

System.out.println(Arrays.toString(“ab.split”(\\s?”))


为什么结果中有一个额外的中间“?

如果您的输入按空格(“”)分割数字 您可以使用分隔符作为空格来删除空格

class Test {
    public static void main(String args[]) {
        System.out.println(Arrays.toString("a b".split("\\s? \\s?")));
    }
}
因为
(0或1量化因子)也允许它在空字符串上拆分。在这种情况下,有三个字符串由空字符串分隔。
class Test {
    public static void main(String args[]) {
        System.out.println(Arrays.toString("a b".split("\\s? \\s?")));
    }
}