1
0
mirror of https://github.com/octoleo/plantuml.git synced 2024-12-22 19:09:03 +00:00

Change StringUtils.isEmpty() & isNotEmpty() to avoid creating new strings

This commit is contained in:
matthew16550 2021-10-31 16:27:39 +11:00
parent 2a4a75e5de
commit bad57a329f
2 changed files with 42 additions and 7 deletions

View File

@ -119,16 +119,22 @@ public class StringUtils {
return result; return result;
} }
public static boolean isNotEmpty(String input) { public static boolean isNotEmpty(CharSequence s) {
return input != null && trin(input).length() > 0; return !isEmpty(s);
} }
public static boolean isNotEmpty(List<? extends CharSequence> input) { public static boolean isNotEmpty(List<? extends CharSequence> input) {
return input != null && input.size() > 0; return input != null && input.size() > 0;
} }
public static boolean isEmpty(String input) { public static boolean isEmpty(CharSequence s) {
return input == null || trin(input).length() == 0; if (s == null) return true;
final int length = s.length();
if (length == 0) return true;
for (int i = 0; i < length; i++) {
if (!isSpaceOrTabOrNull(s.charAt(i))) return false;
}
return true;
} }
public static String manageHtml(String s) { public static String manageHtml(String s) {

View File

@ -0,0 +1,29 @@
package net.sourceforge.plantuml;
import static org.assertj.core.api.Assertions.assertThat;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
class StringUtilsTest {
@ParameterizedTest
@CsvSource(nullValues = "null", value = {
" null , true ",
" '' , true ",
" ' ' , true ",
" '\0' , true ",
" '\n' , true ",
" '\r' , true ",
" '\t' , true ",
" 'x' , false ",
" ' x ' , false ",
})
void test_isEmpty_isNotEmpty(String s, boolean empty) {
assertThat(StringUtils.isEmpty(s))
.isEqualTo(empty);
assertThat(StringUtils.isNotEmpty(s))
.isNotEqualTo(empty);
}
}