空列表时,Java List <String>返回1

Kei*_*ler 0 java list

当我传入一个空字符串""时,为什么以下代码返回1?

private int GetItemsInCommaSeparatedList(){
    // Locals
    String param = ""; // "1,2,3" returns 3 without issue
    List<String> items = Arrays.asList(param.split("\\s*,\\s*"));

    // Empty?
    if ( items.isEmpty() )
        return 0;

    // Return
    return new items.size();
}
Run Code Online (Sandbox Code Playgroud)

Sot*_*lis 6

Javadoc救援

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

你的正则表达式与空字符串中的任何内容都不匹配,因此该方法返回一个包含一个元素的数组,即空字符串.