以下方法何时返回2

时间:2019-04-18 07:40:03

标签: java string split

我很想知道在什么情况下以下方法将返回2而不是1。

   private int splitString(String strToSplit) {
        int num = strToSplit.split("[\\W_]+").length;
        if (num == 0) {
            System.out.println("Value is :: " + 2);
            return 2;
        }
        return 1;
    }

1 个答案:

答案 0 :(得分:1)

split丢弃结尾的空字符串,因此如果strToSplit仅包含定界符

strToSplit == "____"

然后split将返回一个空数组,您的方法将相应地返回2

请注意,如果split在字符串中未找到与该模式匹配的内容,则返回整个字符串,因此,如果

strToSplit == ""

即一个空字符串,然后split将返回一个元素数组,而您的方法将返回1而不是2