java8中,逻辑与 & 符号用在接口类上代表什么意思
ringa_lee
ringa_lee 2017-05-17 09:58:41
[Java讨论组]

最近在读lambda表达式相关的java源码,在Comparator的静态方法里发现有不少这种类似的写法

java.util.Comparator
...
 public static <T> Comparator<T> comparingInt(ToIntFunction<? super T> keyExtractor) {
        Objects.requireNonNull(keyExtractor);
        return (Comparator<T> & Serializable)
            (c1, c2) -> Integer.compare(keyExtractor.applyAsInt(c1), keyExtractor.applyAsInt(c2));
    }

其中return (Comparator<T> & Serializable)应该是表示类型强转,但是这里为什么不直接转换成Comparator<T>,而要用逻辑与符号?

ringa_lee
ringa_lee

ringa_lee

全部回复(1)
phpcn_u1582

这个表示强转成Comparator<T>Serializable
可以看下这个解释

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号