公式ドキュメントからわかるように、区切り文字列としての null は WhiteSpace で分割する必要があるため、これ
System.out.println(JSON.serialize(StringUtils.splitByWholeSeparator("ab de fg", null)));
により生成されるはずです[ "ab" , "de" , "fg"]
しかし、私が理解していないのは、空の文字列 "" が空白で分割されている理由です。以下は同じ出力を生成します。
System.out.println(JSON.serialize(StringUtils.splitByWholeSeparator("ab de fg", "")));
https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringUtils.html#splitByWholeSeparator%28java.lang.String,%20java.langの公式ドキュメント。 String%29は、そのような効果について言及していません。
1 に答える
1
あなたが正しい。ドキュメントに不足があります。文字列セパレーターは、空白で分割を生成しますnull
。empty
内部的には、コードはこれを行っています:
if (separator == null || EMPTY.equals(separator)) {
// Split on whitespace.
return splitWorker(str, null, max, preserveAllTokens);
}
したがって、これら 2 つの呼び出しは同じ結果を生成します。
StringUtils.splitByWholeSeparator("ab de fg", null);
StringUtils.splitByWholeSeparator("ab de fg", "");
于 2015-04-23T08:27:04.613 に答える