加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java 8中的运算符的便捷功能?

发布时间:2020-12-15 03:08:41 所属栏目:Java 来源:网络整理
导读:在 Python中,如果我想对xor操作进行折叠,我可以写: reduce(operator.xor,my_things,0) 而不是更麻烦 reduce(lambda x,y: x^y,0) 在新的Java 8功能特性中是否有类似的东西?例如写这样的东西 myThings.reduce(0,Integer::xor) 而不是 myThings.reduce(0,(x,y
在 Python中,如果我想对xor操作进行折叠,我可以写:
reduce(operator.xor,my_things,0)

而不是更麻烦

reduce(lambda x,y: x^y,0)

在新的Java 8功能特性中是否有类似的东西?例如写这样的东西

myThings.reduce(0,Integer::xor)

而不是

myThings.reduce(0,(x,y) -> x ^ y)

解决方法

正如您在私有包 IntPipeline中所建议的那样使用了 Integer#sum(int,int),但是没有其他数字运算符的类似方法.
@Override
public final int sum() {
    return reduce(0,Integer::sum);
}

您可以自己定义它们.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读