【Java】方法引用与构造器引用

静态方法引用

静态方法引用的格式:

方法中(类名::静态方法名称);
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);
发布了38 篇原创文章 · 获赞 4 · 访问量 809

猜你喜欢

转载自blog.csdn.net/Hide111/article/details/105183451