以下是我的lambda将定位的简单界面。
@FunctionalInterface
interface Converter<F, T> {
T convert(F from);
}
以下是我在下面代码的第一行中定位的lambda。
Converter<String, Integer> converter = (from) -> Integer.valueOf(from);
Integer converted = converter.convert("123");
System.out.println(converted);
语法方面,我甚至可以进一步简化我的目标线:
Converter<String, Integer> converter = Integer::valueOf;
我的问题是关于Integer中静态方法valueOf()的引用。 (即Integer :: valueOf)
为什么它的存在在这里取代lambda?是因为lambda在那里(隐藏)而lambda正在为convert()提供一个方法体 通过&#34;借用&#34;来自其他地方的现有主体(即整数类),而不是明确定义主体?