lambda表示式中的方法引用
阿新 • • 發佈:2021-01-25
lambda表示式中的方法引用
主要有三種語法格式:
- 物件::例項方法名
- 類::靜態方法名
- 類::例項方法名
1.方式一
Employee 類
@Data
@AllArgsConstructor
public class Employee {
private String name;
private Integer age;
private double salary;
}
方法引用
@Test public void test2(){ Employee employee = new Employee("張三",10,2000); //原來的方法 Supplier<String> supplier = ()->employee.getName(); String s = supplier.get(); //方法引用 Supplier<String> supplier1 = employee::getName; String s1 = supplier1.get(); System.out.println(s1); }
2.方式二
@Test
public void test1() {
//原始方法
Consumer consumer = (x)->System.out.println();
//方法引用
PrintStream out = System.out;
Consumer consumer1 = out::println;
Consumer consumer2 =System.out::println;
}
@Test public void test3(){ //原來的方法 Comparator<Integer> comparator = (x,y)->Integer.compare(x,y); //方法引用 Comparator<Integer> comparator1 = Integer::compare; int compare = comparator1.compare(2, 5); System.out.println(compare); }
3.方式三
@Test public void test4(){ //原來的方法 BiPredicate<String,String> biPredicate = (x,y)->x.equals(y); boolean test = biPredicate.test("aa", "bb"); System.out.println(test); //方法引用 BiPredicate<String,String> predicate =String::equals; boolean test1 = predicate.test("aa", "vv"); System.out.println(test1); }