Java String.split()之后的数组大小是多少?

Java String.split()之后的数组大小是多少?,java,arrays,Java,Arrays,在Java中,当字符串文本为“a#b#c”时,拆分后的数组(#)为[“a”、“b”、“c”],长度为3 当文本为“a#”时,数组变为[“a”]。为什么我没有得到[“a”,“”]的数组 它的诀窍是什么?这就是拆分功能的工作方式。它位于: 该方法的工作原理类似于使用给定表达式和零限制参数调用双参数split方法因此,结果数组中不包括尾随的空字符串。 你可能想要 s.split("#", -1); 从2-arg表单上的文档: 如果n为非正,则图案将被应用尽可能多的次数,并且阵列可以具有任意长度。如果

在Java中,当字符串文本为“a#b#c”时,拆分后的数组(#)为[“a”、“b”、“c”],长度为3

当文本为“a#”时,数组变为[“a”]。为什么我没有得到[“a”,“”]的数组


它的诀窍是什么?

这就是拆分功能的工作方式。它位于:

该方法的工作原理类似于使用给定表达式和零限制参数调用双参数split方法因此,结果数组中不包括尾随的空字符串。

你可能想要

s.split("#", -1);
从2-arg表单上的文档:

如果n为非正,则图案将被应用尽可能多的次数,并且阵列可以具有任意长度。如果n为零,则将尽可能多次应用该模式,数组可以有任何长度,并且将丢弃尾随的空字符串


什么把戏?它只是省略了一个空条目。代码正在做它真正应该做的事情。“技巧”正是它在`.Read The javadoc of:中所说的。这个方法的工作原理就好像是用给定的表达式和零的limit参数调用两参数split方法一样。因此,结果数组中不包括尾随的空字符串。