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;
     }

Reply via email to