📜  Java 8 | ObjIntConsumer 接口与示例

📅  最后修改于: 2022-05-13 01:55:44.787000             🧑  作者: Mango

Java 8 | ObjIntConsumer 接口与示例

ObjIntConsumer 接口Java .util 的一部分。从Java 8 开始引入的函数包,用于在Java中实现函数式编程。它表示一个接受两个参数并产生结果的函数。然而,这些类型的函数不返回任何值。

因此,此功能接口采用一个通用接口,即:-

  • T :表示操作的输入参数的类型

分配给 ObjIntConsumer 类型对象的 lambda 表达式用于定义其accept()最终将给定操作应用于其参数。它接受一个 int-valued 和一个 T-valued 参数,并且预计可以在没有任何副作用的情况下运行。它更像是使用 BiConsumer 类型的对象,只是在这种情况下一个是引用,一个是原始数据类型。因此,当调用此函数时,我们将获得一个引用和一个值。

ObjIntConsumer 接口中的函数

ObjIntConsumer 接口由以下两个函数组成:

1. 接受()

此方法接受两个值并对给定参数执行操作。

句法:

void accept(T t, int value)

参数:该方法有两个参数:

  • t - 第一个输入参数
  • value – 第二个输入参数

返回值:此方法不返回任何值。

下面是说明 accept() 方法的代码:

程序:

// Java code to demonstrate
// accept() method of ObjIntConsumer Interface
  
import java.util.Arrays;
import java.util.List;
import java.util.function.ObjIntConsumer;
import java.util.stream.Stream;
  
public class GFG {
    public static void main(String args[])
    {
  
        // Get the list from which
        // the Interface is to be instantiated.
        List
            arr = Arrays.asList(3, 2, 5, 7, 4);
  
        // Instantiate the ObjIntConsumer interface
        ObjIntConsumer >
            func = (list, num) ->
        {
            list.stream()
                .forEach(
                    a -> System.out.println(a * num));
        };
        func.accept(arr, 2);
    }
}
输出:
6
4
10
14
8