On Sat, 5 Jun 2021 15:52:01 GMT, Kevin Rushforth <k...@openjdk.org> wrote:
>> My idea was to avoid repeatedly allocating a new String with the data >> contained in the URI. Since `matchScheme` is called at least twice (maybe >> more), that would be a total of at least three copies of the URI data until >> we parse it. Granted, this would only apply for URIs that contain leading or >> trailing whitespace (since `trim()` is specified to return the same String >> instance if it contains no leading or trailing whitespace). > > I see. How about something like this then? > > > if (uri == null || uri.isEmpty()) { > return false; > } > > if (Character.isWhiteSpace(uri.charAt(0)) { > uri = uri.trim(); > } > > if (uri.length() < 6) { > return false; > } > > > The rest of the method can then work on a trimmed string. I replaced it with another implementation that is effectively the same as this. ------------- PR: https://git.openjdk.java.net/jfx/pull/508