This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-text.git
commit 1423f8837c8fb07e4ad1fbddff94881f6a37e60c Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Sun Jun 28 15:25:48 2020 -0400 Better impl. --- .../commons/text/matcher/AbstractStringMatcher.java | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/apache/commons/text/matcher/AbstractStringMatcher.java b/src/main/java/org/apache/commons/text/matcher/AbstractStringMatcher.java index 1192d0e..26befb0 100644 --- a/src/main/java/org/apache/commons/text/matcher/AbstractStringMatcher.java +++ b/src/main/java/org/apache/commons/text/matcher/AbstractStringMatcher.java @@ -19,6 +19,8 @@ package org.apache.commons.text.matcher; import java.util.Arrays; +import org.apache.commons.lang3.ArrayUtils; + /** * A matcher that determines if a character array portion matches. * @@ -340,17 +342,20 @@ abstract class AbstractStringMatcher implements StringMatcher { /** * Green implementation of toCharArray. TODO Reuse Apache Commons Lang 3.11 when released. * - * @param cs the {@code CharSequence} to be processed + * @param source the {@code CharSequence} to be processed * @return the resulting char array */ - static char[] toCharArray(final CharSequence cs) { - if (cs instanceof String) { - return ((String) cs).toCharArray(); + static char[] toCharArray(final CharSequence source) { + final int len = source.length(); + if (len == 0) { + return ArrayUtils.EMPTY_CHAR_ARRAY; + } + if (source instanceof String) { + return ((String) source).toCharArray(); } - final int sz = cs.length(); - final char[] array = new char[cs.length()]; - for (int i = 0; i < sz; i++) { - array[i] = cs.charAt(i); + final char[] array = new char[len]; + for (int i = 0; i < len; i++) { + array[i] = source.charAt(i); } return array; }