Java使用方法引用实现任意对象的实例方法
方法引用是Java8中的一个新特性,它与Lambda表达式相关。它允许我们在不执行构造函数或方法的情况下引用它们。方法引用和lambda表达式相似,因为它们都需要由兼容的函数接口组成的目标类型。
语法
Class::instanceMethodName
示例
import java.util.*;
import java.util.function.*;
public class ArbitraryObjectMethodRefTest {
public static void main(String[] args) {
List<Person> persons = new ArrayList<Person>();
persons.add(new Person("Raja", 30));
persons.add(new Person("Jai", 25));
persons.add(new Person("Adithya", 20));
persons.add(new Person("Surya", 35));
persons.add(new Person("Ravi", 32));
List ages = ArbitraryObjectMethodRefTest.listAllAges(persons, Person :: getAge);
System.out.println("打印出所有年龄段: \n" + ages);
}
private static List listAllAges(List person, Function<Person, Integer> f) {
List result = new ArrayList();
person.forEach(x -> result.add(f.apply((Person)x)));
return result;
}
private static class Person {
private final String name;
private final int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
}输出结果
打印出所有年龄段: [30, 25, 20, 35, 32]
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短