Improve performance of StringUtils.deleteAny()
This commit is contained in:
parent
8c0aaf4863
commit
e1951a098b
|
@ -453,17 +453,17 @@ public abstract class StringUtils {
|
|||
return inString;
|
||||
}
|
||||
|
||||
StringBuilder sb = new StringBuilder(inString.length());
|
||||
int lastCharIndex = 0;
|
||||
char[] result = new char[inString.length()];
|
||||
for (int i = 0; i < inString.length(); i++) {
|
||||
char c = inString.charAt(i);
|
||||
if (charsToDelete.indexOf(c) == -1) {
|
||||
sb.append(c);
|
||||
result[lastCharIndex++] = c;
|
||||
}
|
||||
}
|
||||
return sb.toString();
|
||||
return new String(result, 0, lastCharIndex);
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Convenience methods for working with formatted Strings
|
||||
//---------------------------------------------------------------------
|
||||
|
|
|
@ -306,7 +306,7 @@ class StringUtilsTests {
|
|||
void quoteIfString() {
|
||||
assertThat(StringUtils.quoteIfString("myString")).isEqualTo("'myString'");
|
||||
assertThat(StringUtils.quoteIfString("")).isEqualTo("''");
|
||||
assertThat(StringUtils.quoteIfString(5)).isEqualTo(Integer.valueOf(5));
|
||||
assertThat(StringUtils.quoteIfString(5)).isEqualTo(5);
|
||||
assertThat(StringUtils.quoteIfString(null)).isNull();
|
||||
}
|
||||
|
||||
|
@ -498,7 +498,7 @@ class StringUtilsTests {
|
|||
void tokenizeToStringArrayWithNotIgnoreEmptyTokens() {
|
||||
String[] sa = StringUtils.tokenizeToStringArray("a,b , ,c", ",", true, false);
|
||||
assertThat(sa.length).isEqualTo(4);
|
||||
assertThat(sa[0].equals("a") && sa[1].equals("b") && sa[2].equals("") && sa[3].equals("c")).as("components are correct").isTrue();
|
||||
assertThat(sa[0].equals("a") && sa[1].equals("b") && sa[2].isEmpty() && sa[3].equals("c")).as("components are correct").isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -539,7 +539,7 @@ class StringUtilsTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
void delimitedListToStringArrayWithEmptyString() {
|
||||
void delimitedListToStringArrayWithEmptyDelimiter() {
|
||||
String[] sa = StringUtils.delimitedListToStringArray("a,b", "");
|
||||
assertThat(sa.length).isEqualTo(3);
|
||||
assertThat(sa[0]).isEqualTo("a");
|
||||
|
@ -601,7 +601,7 @@ class StringUtilsTests {
|
|||
// Could read these from files
|
||||
String[] sa = StringUtils.commaDelimitedListToStringArray("a,,b");
|
||||
assertThat(sa.length).as("a,,b produces array length 3").isEqualTo(3);
|
||||
assertThat(sa[0].equals("a") && sa[1].equals("") && sa[2].equals("b")).as("components are correct").isTrue();
|
||||
assertThat(sa[0].equals("a") && sa[1].isEmpty() && sa[2].equals("b")).as("components are correct").isTrue();
|
||||
|
||||
sa = new String[] {"", "", "a", ""};
|
||||
doTestCommaDelimitedListToStringArrayLegalMatch(sa);
|
||||
|
|
Loading…
Reference in New Issue