:: 是什么
Java 中的 :: 是从 JDK8 开始出现的,表示方法引用,一般用作 Lambda 表达式,调用交给函数式接口。
如:
表达式:
user -> user.getName()
可以替换成:
user::getName
List<Integer> list = Arrays.asList(1,2,3,4);
list.forEach(i -> System.out.println(i)); // 遍历打印 list
list.forEach(System.out::println); // 遍历打印 list
在 MyBatisPlus 中,还用方法引用获取了类的属性名称,方便了操作。
querywrapper.eq(User::getName,"张三")
方法引用的分类
指向静态方法的引用:
Class::static_method
指向类方法的引用:
Class::method
指向实例方法的引用:
Instance::method
指向默认构造方法的引用:
Class::new