8069325: Pattern.splitAsStream does not return input if it is empty and there is no match

Paul Sandoz paul.sandoz at oracle.com
Tue Jan 20 16:17:47 UTC 2015



This patch fixes an edge case in Pattern.splitAsStream for matching against an empty input string, which deviated from the behaviour of Pattern.split. When there are no matches a stream containing the input string should be returned rather than an empty stream.


I have kept compatibility with Pattern.split(String ) but i noticed another an edge case.

What should the following return:


[] or [""]?

There is a zero-width match at the beginning and an empty remaining segment both of which should be discarded, as such i would expect the result to be [] rather than as [""], as currently produced result.

If people agree that this is an issue i suggest we log a new one independent of fixing 8069325.


More information about the core-libs-dev mailing list