8202582: DateTimeFormatterBuilder.parseOffsetBased unnecessarily calls toString()

Call text.subSequence() before calling toString() on input string

Reviewed-by: igerasim
This commit is contained in:
Rachna Goel 2018-05-04 15:44:24 +05:30
parent 1cb95bd3d1
commit 5b3eaaf632

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -4262,7 +4262,7 @@ public final class DateTimeFormatterBuilder {
* @return the position after the parse
*/
private int parseOffsetBased(DateTimeParseContext context, CharSequence text, int prefixPos, int position, OffsetIdPrinterParser parser) {
String prefix = text.toString().substring(prefixPos, position).toUpperCase();
String prefix = text.subSequence(prefixPos, position).toString().toUpperCase();
if (position >= text.length()) {
context.setParsed(ZoneId.of(prefix));
return position;