字符串数组长度显示为1,即使数组在以逗号(,)分割后调用为空

ray*_*ray 8 java arrays

这是我的代码:

serialNumbers = "";

String[] serialArray = serialNumbers.split(",");

int arrayLength = serialArray.length;
Run Code Online (Sandbox Code Playgroud)

即使serialArray中没有值,arrayLength也会显示1.我希望在这种情况下长度应该返回0.

Bri*_*new 14

来自doc:

如果表达式与输入的任何部分都不匹配,那么结果数组只有一个元素,即该字符串.

请注意,此doc来自String.split(String, int)方法,该方法是从中调用的String.split(String)

  • @ray在使用`String.split()`之后将永远不会出现这种情况,所以这是一个无用的测试.您尝试解决的实际问题是什么? (3认同)

Boh*_*ian 6

拆分始终返回至少一个元素.

在未找到分隔符的情况下,整个输入以单元素数组的形式返回.