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