所以我花了2个小时试图找到一个实际上对我有意义的Java 8构造函数引用的实例。并不是我不理解构造函数引用的语法或语义。但我无法想出一个我可以/将要使用它们的用例。我发现的例子基本上只是为了能够使用构造函数引用而引入了一个非常简单的函数接口和匹配的类/构造函数。但它归结为只是以一种非常复杂的方式做一个简单的new...()
。功能接口从未以任何其他方式使用,而不是通过构造函数引用,所以重点是什么?
有人可以给我一个实际的例子,你可以使用构造函数引用来实现功能接口,但是功能接口不是用于传递这个构造函数的引用,但实际上有理由存在,因为它被使用还有其他实现吗?
答案 0 :(得分:4)
这是一个非平凡的构造函数引用的例子
private final Map<String, BigInteger> biCache = new HashMap<>();
public BigInteger parse(String str) {
return biCache.computeIfAbsent(str, BigInteger::new);
}
在这种情况下
BigInteger::new
实际上类似于
s -> new BigInteger(s)