java8:ObjIntConsumer实例|功能接口教程

357 阅读1分钟

原始消费者功能接口被定义在java.util.function包中。

它有一个唯一的抽象方法,接受对象值和其他数值,结果是什么都没有。

它像BiConsumer接口一样接受两个值作为输入。所有的函数接口都可以作为一个变量被分配给lambda表达式或方法引用。

ObjIntConsumer

java.util.function.ObjIntConsumer是一个功能接口。它有一个抽象的方法
accept(T t, integer value)需要两个参数
t是一个对象,value是一个整数。

方法引用示例

方法引用是用双冒号操作符声明和调用的,这个分配给消费者,调用accept()方法,有两个参数,没有返回。

import java.util.function.ObjIntConsumer;  
public class MethodReferenceExample {  
  static void append(String str, int value) {  
    System.out.println(str+value);  
   }  
   public static void main(String[] args) {  
    ObjIntConsumer IntToDoubleFunction = MethodReferenceExample::append;  
    IntToDoubleFunction.accept("Hello",4);  
    }  
}  

兰姆达表达式示例

这里的Lambda表达式通过传递两个参数声明,并分配给ObjIntConsumer接口。用Object和int值调用accept,并且不返回任何东西。

ObjDoubleConsumer  objDoubleConsumer = ( v1 , v2 ) -> { System.out.println(v1 + " " +v2);};  
objDoubleConsumer.accept("object",1d);  

ObjLongConsumer

java.util.function.ObjLongConsumer是一个功能接口。它有一个抽象的方法--accept(Object,primitive value),将对象和整数值作为输入,不返回任何结果。

ObjLongConsumer  objLongConsumer = ( v1 , v2 ) -> { System.out.println(v1 + " " +v2);};  
objLongConsumer.accept("object",4l);