小编Har*_*rry的帖子

返回值中'&'字符的含义是什么?

public static <T, U extends Comparable<? super U>> Comparator<T> comparing(
        Function<? super T, ? extends U> keyExtractor)
{
    Objects.requireNonNull(keyExtractor);
    return (Comparator<T> & Serializable)
        (c1, c2) -> keyExtractor.apply(c1).compareTo(keyExtractor.apply(c2));
}
Run Code Online (Sandbox Code Playgroud)

我感兴趣的部分是这样的: return (Comparator<T> & Serializable)

谢谢你的帮助!

java generics

17
推荐指数
1
解决办法
1003
查看次数

Collections.max签名的说明

当我偶然发现这个方法签名时,我正在阅读一篇关于Java Generics的文章:

static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll);
Run Code Online (Sandbox Code Playgroud)

我没有得到的部分是我们需要的原因

Collection<? extends T> coll
Run Code Online (Sandbox Code Playgroud)

不会

Collection<T> coll
Run Code Online (Sandbox Code Playgroud)

做得好吗?

有人可以解释为什么以下签名不够吗?

static <T extends Object & Comparable<? super T>> T max(Collection<T> coll);
Run Code Online (Sandbox Code Playgroud)

提前感谢您的回复.这让我困惑了很长一段时间..

java generics

14
推荐指数
1
解决办法
240
查看次数

标签 统计

generics ×2

java ×2