所以我只花了 2 个小时试图找到一个对我来说真正有意义的 Java 8 构造函数引用的实际示例。并不是我不理解构造函数引用的语法或语义。但我无法想出一个我可以/将使用它们的用例。我找到的示例基本上只是介绍了一个非常无意义的功能接口(interface)和一个匹配的类/构造函数,只是为了能够使用构造函数引用。但归根结底,它只是以一种非常复杂的方式执行一个简单的 new...()
。除了通过构造函数引用之外,功能接口(interface)从未以任何其他方式使用过,那有什么意义呢?
谁能给我一个实际的例子,你可以在函数式接口(interface)实现中使用构造函数引用,但是函数式接口(interface)不仅仅用于传递这个构造函数引用,而且实际上有一个存在的理由,因为它被使用也与其他实现一起使用?
最佳答案
这是一个重要的构造函数引用的例子
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)
关于java - Java 8 的构造函数引用的实际应用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35516851/