4. functional interface
public class Java8FunctionalInterface {
public static void main ( String args[ ] ) {
List< Integer> list = Arrays. asList ( 0 , 1 , 2 , 3 , 4 ) ;
System. out. println ( "all:" ) ;
func ( list, a - > true ) ;
System. out. println ( "偶数:" ) ;
func ( list, a - > {
if ( a % 2 == 0 ) {
return true ;
}
return false ;
} ) ;
System. out. println ( "大于1" ) ;
func ( list, a - > a > 1 ) ;
}
public static void func ( List< Integer> list, Predicate< Integer> predicate) {
for ( Integer a : list) {
if ( predicate. test ( a) ) {
System. out. println ( String. valueOf ( a) ) ;
}
}
}
}
java8 新加的函数接口
java. util. function
BiConsumer< T, U> 代表了一个接受两个输入参数的操作,并且不返回任何结果
BiFunction< T, U, R> 代表了一个接受两个输入参数的方法,并且返回一个结果
BinaryOperator< T> 代表了一个作用于于两个同类型操作符的操作,并且返回了操作符同类型的结果
BiPredicate< T, U> 代表了一个两个参数的boolean 值方法
BooleanSupplier 代表了boolean 值结果的提供方
Consumer< T> 代表了接受一个输入参数并且无返回的操作
DoubleBinaryOperator 代表了作用于两个double 值操作符的操作,并且返回了一个double 值的结果。
DoubleConsumer 代表一个接受double 值参数的操作,并且不返回结果。
DoubleFunction< R> 代表接受一个double 值参数的方法,并且返回结果
DoublePredicate 代表一个拥有double 值参数的boolean 值方法
DoubleSupplier 代表一个double 值结构的提供方
DoubleToIntFunction 接受一个double 类型输入,返回一个int 类型结果。
DoubleToLongFunction 接受一个double 类型输入,返回一个long 类型结果
DoubleUnaryOperator 接受一个参数同为类型double , 返回值类型也为double 。
Function< T, R> 接受一个输入参数,返回一个结果。
IntBinaryOperator 接受两个参数同为类型int , 返回值类型也为int 。
IntConsumer 接受一个int 类型的输入参数,无返回值 。
IntFunction< R> 接受一个int 类型输入参数,返回一个结果 。
IntPredicate 接受一个int 输入参数,返回一个布尔值的结果。
IntSupplier 无参数,返回一个int 类型结果。
IntToDoubleFunction 接受一个int 类型输入,返回一个double 类型结果 。
IntToLongFunction 接受一个int 类型输入,返回一个long 类型结果。
IntUnaryOperator 接受一个参数同为类型int , 返回值类型也为int 。
LongBinaryOperator 接受两个参数同为类型long , 返回值类型也为long 。
LongConsumer 接受一个long 类型的输入参数,无返回值。
LongFunction< R> 接受一个long 类型输入参数,返回一个结果。
LongPredicate 接受一个long 输入参数,返回一个布尔值类型结果。
LongSupplier 无参数,返回一个结果long 类型的值。
LongToDoubleFunction 接受一个long 类型输入,返回一个double 类型结果。
LongToIntFunction 接受一个long 类型输入,返回一个int 类型结果。
LongUnaryOperator 接受一个参数同为类型long , 返回值类型也为long 。
ObjDoubleConsumer< T> 接受一个object类型和一个double 类型的输入参数,无返回值。
ObjIntConsumer< T> 接受一个object类型和一个int 类型的输入参数,无返回值。
ObjLongConsumer< T> 接受一个object类型和一个long 类型的输入参数,无返回值。
Predicate< T> 接受一个输入参数,返回一个布尔值结果。 -- 示例用的就是这个
Supplier< T> 无参数,返回一个结果。
ToDoubleBiFunction< T, U> 接受两个输入参数,返回一个double 类型结果
ToDoubleFunction< T> 接受一个输入参数,返回一个double 类型结果
ToIntBiFunction< T, U> 接受两个输入参数,返回一个int 类型结果。
ToIntFunction< T> 接受一个输入参数,返回一个int 类型结果。
ToLongBiFunction< T, U> 接受两个输入参数,返回一个long 类型结果。
ToLongFunction< T> 接受一个输入参数,返回一个long 类型结果。
UnaryOperator< T> 接受一个参数为类型T, 返回值类型也为T。