1. BiConsumer接口
可以接受两个入参的Consumer接口,表示接受两个输入参数但不返回结果的操作。这就是消费者的双重专业化。与大多数其他功能界面不同,双消费者预期通过副作用进行操作。这是一个函数式接口,其函数方法是accept(Object, Object)。
public static void main(String args[]) {
List<String> list = new ArrayList<>();
list.add("21");
list.add("93");
list.add("35");
list.add("135");
list.add("65");
wrapperString(list, 100, (list1, minNum) -> {
int i = 0;
for (String s : list1) {
Integer current = Integer.parseInt(s);
if (current > minNum) {
s = s + "a";
list1.set(i, s);
}
i++;
}
});
System.out.println("new list: " + list);
}
public static void wrapperString(List<String> list, Integer minNum, BiConsumer<List<String>, Integer> consumer) {
consumer.accept(list, minNum);
}
2. Consumer接口
表示接受单个输入参数但不返回结果的操作。与大多数其他功能界面不同,消费者需要通过副作用进行操作。
这是一个函数式接口,其函数方法是是accept(Object)。
3. DoubleConsumer接口
表示接受单个double参数且不返回结果的操作。这是消费者的原始型专业化。与大多数其他功能接口不同,DoubleConsumer预期通过副作用进行操作。
这是一个函数式接口,其函数方法是accept(double)。
4. IntConsumer接口
指定入参为int的Consumer接口。
5. LongConsumer接口
指定入参为long的Consumer的接口
6. ObjDoubleConsumer接口
表示接受对象值和double参数且不返回结果的操作。这是BiConsumer的(reference, double) 特化。与大多数其他功能接口不同,ObjDoubleConsumer预期通过副作用进行操作。
这是一个函数接口,其函数方法为accept(Object,double)。
7. ObjIntConsumer接口
参考如上
8. ObjLongConsumer接口
参考如上
网友评论