public class Pattern extends Object
| 限定符和类型 | 字段 | 说明 |
|---|---|---|
static PatternBoolean |
BOOLEAN |
|
static PatternString |
CONTAIN |
|
static PatternDefault |
DEFAULT |
|
static PatternString |
ICCONTAIN |
|
static PatternString |
ICPREFIX |
|
static PatternString |
ICSUFFIX |
|
static PatternString |
IGNORECASE |
|
static None |
NONE |
|
static PatternString |
PREFIX |
|
static PatternString |
STRING |
|
static PatternString |
SUFFIX |
|
static PatternType |
TYPE |
|
static PatternValue |
VALUE |
| 构造器 | 说明 |
|---|---|
Pattern() |
| 限定符和类型 | 方法 | 说明 |
|---|---|---|
static boolean |
allEmpty(String... strs) |
true if all array values are null or "" empty value. |
static boolean |
allNull(Object... objects) |
true if all array values are null. |
static boolean |
hasEmpty(String... strs) |
Whether string array contains
null value or "" empty value. |
static boolean |
hasNull(Object... objects) |
Whether object array contains
null value. |
static <T> PatternIn<T> |
in(T... values) |
Match multi-values in one time.
|
static boolean |
isEmpty(String str) |
|
static BooleanMatcherMapping<None> |
match() |
There is multiple
if statements, but they're not related,
use match() without value. |
static BooleanMatcherMapping<None> |
match(None value) |
|
static <T> ActionNoneMatcherMapping<T> |
match(R1<T,Boolean> preAction,
Class<T> clazz) |
|
static ClassValueMatcherMapping<Class<?>> |
match(Class<?> clazz) |
|
static StringMatcherMapping |
match(String value,
PatternString patternString) |
|
static <V> MixMatcherMapping<V> |
match(V value) |
match can instead of switch statement or if statement. |
static <V,T> ActionValueMatcherMapping<V,T> |
match(V value,
R1<T,V> preAction,
Class<T> clazz) |
|
static <V> ActionValueMatcherMapping<V,V> |
match(V value,
R1<V,V> preAction) |
The values in
.when(value) are preprocessed by preAction and then match. |
static <V> BooleanMatcherMapping<V> |
match(V value,
PatternBoolean patternBoolean) |
|
static <V> MixMatcherMapping<V> |
match(V value,
PatternDefault patternDefault) |
|
static <V> TypeMatcherMapping<V> |
match(V value,
PatternType patternType) |
|
static <V> ValueMatcherMapping<V> |
match(V value,
PatternValue patternValue) |
public static PatternDefault DEFAULT
public static PatternValue VALUE
public static PatternBoolean BOOLEAN
public static PatternType TYPE
public static PatternString STRING
public static PatternString IGNORECASE
public static PatternString CONTAIN
public static PatternString PREFIX
public static PatternString SUFFIX
public static PatternString ICCONTAIN
public static PatternString ICPREFIX
public static PatternString ICSUFFIX
public static None NONE
public static <V> MixMatcherMapping<V> match(V value)
match can instead of switch statement or if statement.
String s = "5";
String result = match(s)
.when("1", v -> v + v)
.when("2", v -> v + "a")
.when(in("3", "4", "5", "6"), v -> v + " - abcd")
.orElse(v -> "no match");
System.out.println("match result: " + result);
V - value typevalue - valuepublic static <V> MixMatcherMapping<V> match(V value, PatternDefault patternDefault)
public static <V> ValueMatcherMapping<V> match(V value, PatternValue patternValue)
public static BooleanMatcherMapping<None> match()
if statements, but they're not related,
use match() without value.
int i = 10;
String s = "abc";
Object o = new Object();
String res = match()
.when(i == 5, v -> "i == 5")
.when(s.equals("abc"), v -> "abc")
.when(o == null, v -> "object is null")
.orElse(v -> null);
match(None)public static BooleanMatcherMapping<None> match(None value)
public static <V> BooleanMatcherMapping<V> match(V value, PatternBoolean patternBoolean)
public static <V> TypeMatcherMapping<V> match(V value, PatternType patternType)
public static StringMatcherMapping match(String value, PatternString patternString)
public static ClassValueMatcherMapping<Class<?>> match(Class<?> clazz)
public static <V> ActionValueMatcherMapping<V,V> match(V value, R1<V,V> preAction)
.when(value) are preprocessed by preAction and then match.
String str = "123abc";
R1<String, String> preAction = s -> "123" + (s == null ? null : s.toLowerCase());
String res1 = match(str, preAction, String.class)
.when("123", v -> "1 " + v + "-- 123")
.when("123ABC", v -> "2 " + v + "-- 123ABC")
.when("ABC", v -> "4 " + v + "-- ABC") // will be matched
.orElse(v -> "orElse " + v);
System.out.println(res1); // output: 4 123abc-- ABC
V - value typevalue - valuepreAction - Preprocess for value in .when(value)public static <V,T> ActionValueMatcherMapping<V,T> match(V value, R1<T,V> preAction, Class<T> clazz)
public static <T> ActionNoneMatcherMapping<T> match(R1<T,Boolean> preAction, Class<T> clazz)
public static <T> PatternIn<T> in(T... values)
.when(in(0, 1, 2), v -> {System.out.println("match!");})
// it is equivalent to the code below
int i = 1;
switch (i) {
case 0:
case 1:
case 2:
System.out.println("match!");
break;
default:
...
}
T - values typevalues - multi-valuespublic static boolean hasNull(Object... objects)
null value. null值objects - object arraytrue if objects contains null valuepublic static boolean hasEmpty(String... strs)
null value or "" empty value. null值或者空字符串"",则返回truestrs - string arraytrue if strings contains null value or "" empty valuepublic static boolean allNull(Object... objects)
true if all array values are null. null,则返回trueobjects - object arraytrue if all array values are nullpublic static boolean allEmpty(String... strs)
true if all array values are null or "" empty value. null或者空字符串"",则返回truestrs - string arraytrue if all array values are null or "" empty valuepublic static boolean isEmpty(String str)
Copyright © 2021. All rights reserved.