T - the type of the input to the functionR - the type of the result of the function@FunctionalInterface public interface Function<T,R>
This is a functional interface
 whose functional method is apply(Object).
| Modifier and Type | Method and Description | 
|---|---|
| default <V> Function<T,V> | andThen(Function<? super R,? extends V> after)Returns a composed function that first applies this function to
 its input, and then applies the  afterfunction to the result. | 
| R | apply(T t)Applies this function to the given argument. | 
| default <V> Function<V,R> | compose(Function<? super V,? extends T> before)Returns a composed function that first applies the  beforefunction to its input, and then applies this function to the result. | 
| static <T> Function<T,T> | identity()Returns a function that always returns its input argument. | 
R apply(T t)
t - the function argumentdefault <V> Function<V,R> compose(Function<? super V,? extends T> before)
before
 function to its input, and then applies this function to the result.
 If evaluation of either function throws an exception, it is relayed to
 the caller of the composed function.V - the type of input to the before function, and to the
           composed functionbefore - the function to apply before this function is appliedbefore
 function and then applies this functionNullPointerException - if before is nullandThen(Function)default <V> Function<T,V> andThen(Function<? super R,? extends V> after)
after function to the result.
 If evaluation of either function throws an exception, it is relayed to
 the caller of the composed function.V - the type of output of the after function, and of the
           composed functionafter - the function to apply after this function is appliedafter functionNullPointerException - if after is nullcompose(Function)static <T> Function<T,T> identity()
T - the type of the input and output objects to the function Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2017, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.