一.:: 有关的用法:
1.:: 操作静态方法
public class TestJDK{
static void getName(String name){
System.out.println("该用户的名字是:"+name);
}
public static void main(String[] args) {
Consumer<String> consumer= TestJDK::getName;
consumer.accept("cosumer");
}
User::getName 是一个static的方法,所以可以直接使用:: 表示方法的推导 user::getName 必须有一个Functionde 返回值,该返回值可以自己定义,也可以使用Java1.8带的接口。
2.::操作构造方法
package lambda;
public class User {
static void getName(String s) {
System.out.println("该用户的名字:" + s);
}
public User() {
System.out.println("无参构造器");
}
public User(String str) {
System.out.println("有参" + str);
}
}
package lambda;
import java.util.function.Consumer;
import java.util.function.Supplier;
import com.google.common.base.Func