// 类 :: 实例方法
Comparator中的 int comapre(T t1,T t2)
String中的 int t1.compareTo(t2)
技巧: compare(T t1,T t2)方法的第一个参数t1,作为调用compareTo(t2)方法的对象,
Comparator com2 = String :: compareTo;
System.out.println(com2.compare(“abd”,“abm”));
// 情况三:类 :: 实例方法 (有难度)
// Comparator中的 int comapre(T t1,T t2)
// String中的 int t1.compareTo(t2)
// 技巧: compare(T t1,T t2)方法的第一个参数t1,作为调用compareTo(t2)方法的对象,
// Comparator<String> com2 = String :: compareTo;
// System.out.println(com2.compare("abd","abm"));
@Test
public void test5() {
Comparator<String> com1 = (s1,s2) -> s1.compareTo(s2);
System.out.println(com1.compare("abc","abd"));
System.out.println("*******************");
Comparator<String> com2 = String :: compareTo;
System.out.println(com2.compare("abd","abm"));
}
//BiPredicate中的boolean test(T t1, T t2);
//String中的boolean t1.equals(t2)
@Test
public void test6() {
BiPredicate<String,String> pre1 = (s1,s2) -> s1.equals(s2);
System.out.println(pre1.test("abc","abc"));
System.out.println("*******************");
BiPredicate<String,String> pre2 = String :: equals;
System.out.println(pre2.test("abc","abd"));
}
// Function中的R apply(T t)
// Employee中的String getName();
@Test
public void test7() {
Employee employee = new Employee(1001, "Jerry", 23, 6000);
Function<Employee,String> func1 = e -> e.getName();
System.out.println(func1.apply(employee));
System.out.println("*******************");
Function<Employee,String> func2 = Employee::getName;
System.out.println(func2.apply(employee));
}