我很想知道在什么情况下以下方法将返回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;
}
答案 0 :(得分:1)
split
丢弃结尾的空字符串,因此如果strToSplit
仅包含定界符
strToSplit == "____"
然后split
将返回一个空数组,您的方法将相应地返回2
。
请注意,如果split
在字符串中未找到与该模式匹配的内容,则返回整个字符串,因此,如果
strToSplit == ""
即一个空字符串,然后split
将返回一个元素数组,而您的方法将返回1
而不是2
。