diff options
Diffstat (limited to 'luni')
-rw-r--r-- | luni/src/main/java/java/lang/String.java | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/luni/src/main/java/java/lang/String.java b/luni/src/main/java/java/lang/String.java index 4fe31f2..0e0381c 100644 --- a/luni/src/main/java/java/lang/String.java +++ b/luni/src/main/java/java/lang/String.java @@ -17,25 +17,20 @@ package java.lang; +import com.ibm.icu4jni.regex.NativeRegEx; import java.io.Serializable; import java.io.UnsupportedEncodingException; -import java.util.Comparator; -import java.util.Formatter; -import java.util.Locale; - -import java.util.regex.Pattern; - import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.charset.Charset; import java.nio.charset.IllegalCharsetNameException; import java.nio.charset.UnsupportedCharsetException; import java.security.AccessController; +import java.util.Comparator; +import java.util.Formatter; +import java.util.Locale; +import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; - -// BEGIN android-removed -// import org.apache.harmony.kernel.vm.VM; -// END android-removed import org.apache.harmony.luni.util.PriviAction; /** @@ -2123,7 +2118,8 @@ public final class String implements Serializable, Comparable<String>, } /** - * Splits this string using the supplied regular expression {@code expr}. + * Splits this string using the supplied regular expression {@code expr}, + * as if by {@code split(expr, 0)}. * * @param expr * the regular expression used to divide the string. @@ -2138,13 +2134,14 @@ public final class String implements Serializable, Comparable<String>, * @since 1.4 */ public String[] split(String expr) { - return Pattern.compile(expr).split(this); + return split(expr, 0); } /** * Splits this string using the supplied regular expression {@code expr}. * The parameter {@code max} controls the behavior how many times the - * pattern is applied to the string. + * pattern is applied to the string; see {@link Pattern#split(CharSequence, int)} + * for details. * * @param expr * the regular expression used to divide the string. @@ -2161,7 +2158,8 @@ public final class String implements Serializable, Comparable<String>, * @since 1.4 */ public String[] split(String expr, int max) { - return Pattern.compile(expr).split(this, max); + String[] result = java.util.regex.Splitter.fastSplit(expr, this, max); + return result != null ? result : Pattern.compile(expr).split(this, max); } /** |