如何使用Lambda初始化字段

如何使用Lambda初始化字段,第1张

如何使用Lambda初始化字段

您上一个代码段中的问题是编译器无法猜测

() -> { // pre omitted    return null;}

是实现

Supplier
接口SAM的lambda表达式(似乎您首先错过了表达式的括号,但无论如何)。

您可以做的是强制转换lambda,以告知编译器这实际上

Supplier
是您实现的接口的抽象方法:

private ConnectionFactory connectionFactory =      ((Supplier<ConnectionFactory>)() -> {         // pre omitted         return null;     }).get();

但是,那您将获得什么而不是拥有一个初始化器呢?

private ConnectionFactory connectionFactory;{    //pre omitted    connectionFactory = null;}

或在构造函数中或使用final方法初始化连接:

private ConnectionFactory connectionFactory = initConnection();private final ConnectionFactory initConnection() {    //pre omitted    return null;}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5013654.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存