package com.webdemo;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
public class Main {
/**
* public class UserImpl {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
* @param args
*/
public static void main(String[] args) {
UserImpl u=new UserImpl();
//冒号 可以理解成分隔符,类或对象::方法不带括号
userOp(u::setName);
String name = userGet(u::getName);
System.out.println(name);
}
//Supplier<T> - 没有任何输入,返回T
private static String userGet(Supplier<String> getFun) {
return getFun.get();
}
//Consumer<T> - T作为输入,执行某种动作但没有返回值
private static void userOp(Consumer<String> fun) {
fun.accept("sss");
}
public static void test(int s,int i){
call(a->call(s,i,a));
}
//Function<T, R> -T作为输入,返回的R作为输出
public static void call(Function<Integer, String> fun){
System.out.println("result:"+fun.apply(9));
}
public static String call(int i0,int i,int a){
return i0+i+a+"";
}
}
JAVA lambda表达式的实例
最新推荐文章于 2024-01-02 13:50:04 发布