静态方法引用
静态方法引用的格式:
方法中(类名::静态方法名称);
method(Math::abs);
等效于重写了calc方法
pulic int calc(int num) {
Math.abs(num);
}
取绝对值:
使用Lambda表达式来实现
method(-10, (int num)->{return Math.abs(num);});
使用方法引用来实现
method(-20,Math::abs);
对象名的方法引用
进行大小写转换:
使用Lambda表达式来实现
method("abc", (String s)->{su.printUpperCase(s);});
使用对象名引用方法来实现
method("abc", su::printUpperCase);
构造方法引用
构造方法的引用格式:
方法(类名::new);
method(Person::new);
输出名字:
使用Lambda表达式来实现
method("杨过", (String name)->{return new Person(name);});
使用构造方法引用来实现
method("小龙女", Person::new);
类名引用普通方法
类名引用普通方法的格式:
方法(类名::普通方法名称);
method(StringUtils::printUpperCase);
大小写转换:
使用Lambda表达式来实现
method(new StringUtils(), "abc", (StringUtils su, String s)->{su.printUpperCase(s);});
使用类名引用普通方法来实现
method(new StringUtils(), "def", StringUtils::printUpperCase);