'&'的含义是什么返回值中的字符? [英] What's the meaning of the '&' character in the returned value?

查看:115
本文介绍了'&'的含义是什么返回值中的字符?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  public static< T,U extends Comparable<? super U>>比较< T>比较(
函数<?super T,?extends U> keyExtractor)
{
Objects.requireNonNull(keyExtractor);
return(Comparator< T& Serializable)
(c1,c2) - > keyExtractor.apply(C1).compareTo(keyExtractor.apply(C2));
}

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



感谢您的帮助!这意味着结果值将被转换为比较器 可序列化(即可序列化的比较器)

请注意,在执行类似此类转换时,您只能指定

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));
}

The part I'm interested in is this: return (Comparator<T> & Serializable)

Thanks for your help!

解决方案

This means that the resulting value will be cast to Comparator and Serializable (i.e. a serializable comparator)

Note that when doing casts like this one, you're allowed to specify only one class (and infinite amount of interfaces), because it's not possible for a class to inherit from more than one super-class.

这篇关于'&amp;'的含义是什么返回值中的字符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆