Functions¶
- public final class org.apache.commons.lang3.function.Functions[source]¶
Factory for
Function.- Since:
3.14.0
Methods¶
Applies the |
|
Applies a value to a function if the value isn’t |
|
Applies values to a chain of functions, where a |
|
Applies values to a chain of functions, where a |
|
Starts a fluent chain like |
- public static <T, R> R apply(Function<T, R> function, T object)[source]¶
Applies the
Functionon the object if the function is notnull. Otherwise, does nothing and returnsnull.- Parameters:
function – The function to apply.
object – The object to apply the function.
- Type parameters:
<T> – the type of the argument the function applies.
<R> – the type of the result the function returns.
- Returns:
The value the function returns if the function is not
null;nullotherwise.- Since:
3.15.0
- public static <T, R> R applyNonNull(T value, Function<? super T, ? extends R> mapper)[source]¶
Applies a value to a function if the value isn’t
null, otherwise the method returnsnull. If the value isn’tnullthen return the result of the applying function.Functions.applyNonNull("a", String::toUpperCase) = "A" Functions.applyNonNull(null, String::toUpperCase) = null Functions.applyNonNull("a", s -> null) = null
Useful when working with expressions that may return
nullas it allows a single-line expression without using temporary local variables or evaluating expressions twice. Provides an alternative to usingOptionalthat is shorter and has less allocation.- Type parameters:
<T> – The type of the input of this method and the function.
<R> – The type of the result of the function and this method.
- Parameters:
value – The value to apply the function to, may be
null.mapper – The function to apply, must not be
null.
- Returns:
The result of the function (which may be
null) ornullif the input value isnull.- See also:
- Since:
3.19.0
- public static <T, U, R> R applyNonNull(T value1, Function<? super T, ? extends U> mapper1, Function<? super U, ? extends R> mapper2)[source]¶
Applies values to a chain of functions, where a
nullcan short-circuit each step. A function is only applied if the previous value is notnull, otherwise this method returnsnull.Functions.applyNonNull(" a ", String::toUpperCase, String::trim) = "A" Functions.applyNonNull(null, String::toUpperCase, String::trim) = null Functions.applyNonNull(" a ", s -> null, String::trim) = null Functions.applyNonNull(" a ", String::toUpperCase, s -> null) = null
Useful when working with expressions that may return
nullas it allows a single-line expression without using temporary local variables or evaluating expressions twice. Provides an alternative to usingOptionalthat is shorter and has less allocation.- Type parameters:
<T> – The type of the input of this method and the first function.
<U> – The type of the result of the first function and the input to the second function.
<R> – The type of the result of the second function and this method.
- Parameters:
value1 – The value to apply the functions to, may be
null.mapper1 – The first function to apply, must not be
null.mapper2 – The second function to apply, must not be
null.
- Returns:
The result of the final function (which may be
null) ornullif the input value or any intermediate value isnull.- See also:
- Since:
3.19.0
- public static <T, U, V, R> R applyNonNull(T value1, Function<? super T, ? extends U> mapper1, Function<? super U, ? extends V> mapper2, Function<? super V, ? extends R> mapper3)[source]¶
Applies values to a chain of functions, where a
nullcan short-circuit each step. A function is only applied if the previous value is notnull, otherwise this method returnsnull.Functions.applyNonNull(" abc ", String::toUpperCase, String::trim, StringUtils::reverse) = "CBA" Functions.applyNonNull(null, String::toUpperCase, String::trim, StringUtils::reverse) = null Functions.applyNonNull(" abc ", s -> null, String::trim, StringUtils::reverse) = null Functions.applyNonNull(" abc ", String::toUpperCase, s -> null, StringUtils::reverse) = null Functions.applyNonNull(" abc ", String::toUpperCase, String::trim, s -> null) = null
Useful when working with expressions that may return
nullas it allows a single-line expression without using temporary local variables or evaluating expressions twice. Provides an alternative to usingOptionalthat is shorter and has less allocation.- Type parameters:
<T> – The type of the input of this method and the first function.
<U> – The type of the result of the first function and the input to the second function.
<V> – The type of the result of the second function and the input to the third function.
<R> – The type of the result of the third function and this method.
- Parameters:
value1 – The value to apply the first function, may be
null.mapper1 – The first function to apply, must not be
null.mapper2 – The second function to apply, must not be
null.mapper3 – The third function to apply, must not be
null.
- Returns:
The result of the final function (which may be
null) ornullif the input value or any intermediate value isnull.- See also:
- Since:
3.19.0