微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

这是什么意思?爪哇

如何解决这是什么意思?爪哇

something().orElseGet(() -> (a,b,c) -> {})
                   // ^----this part------^

其中(a,c)是具有abc参数的方法。例如:Method(a,c)返回了一些内容

我的问题是在实践中,此功能接口的作用是什么,对我来说很混乱。

解决方法

它返回一个Supplier,然后提供三个参数方法的实现(a,b,c) -> {}

通常,Java中的所有方法参数都会在调用方法后立即进行评估。

这意味着,在orElseGet((a,c) -> {})的假设情况下,无论是否需要,都会始终创建该方法。但是由于只有在没有其他值时才需要它,因此拥有中间供应商意味着仅在实际需要时才创建该方法。

由于在不存在任何价值的情况下使用的价值可能会任意创建,因此供应商可能节省大量时间。在您的情况下,差异不会太大(创建供应商或创建lambda的成本可能大致相等)。但是在其他情况下,获得该值可能涉及数据库查找,字符串串联等,在这种情况下,仅在实际需要时才执行这些操作会带来巨大的好处。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。