System.out.println(",".split(",", 0).length);
System.out.println("".split(",", 0).length);
打印:
0
1
这看起来很奇怪。根据{{3}}的文档,
如果n为零,那么模式将被应用尽可能多次,数组可以具有任何长度,尾随空字符串将被丢弃。
在第二种情况下,当拆分空字符串时,此规则似乎被忽略。这是预期的行为吗?
答案 0 :(得分:4)
来自docs
如果表达式与输入的任何部分都不匹配,那么
{% static i.photo_link %}
resulting array has just one element, namely this string
表示它与此类似
"".split(",", 0).length
字符串 System.out.println(new String[]{""}.length);
中没有,
,因此数组包含单个元素""
一个空字符串,导致数组长度为""
另一个例子
1