kaj*_*acx 9 java casting java-8
我正在研究Comparator#comparing()JDK 1.8 的源代码,并且lambda的渲染对我来说是一个惊喜:
//declaration
{
Objects.requireNonNull(keyExtractor);
return (Comparator<T> & Serializable) // <- this cast here
(c1, c2) -> keyExtractor.apply(c1).compareTo(keyExtractor.apply(c2));
}
Run Code Online (Sandbox Code Playgroud)
看完之后
如果指定的函数也是可序列化的,则返回的比较器是可序列化的.
和一些玩代码,我弄清楚为什么这个工作,以及为什么如果演员不同,它将无法工作.
我的问题是:这个多重铸造是什么(A & B)?
通过谷歌搜索java multiple cast我发现只有多个使用铸造(A)(B).是否有关于在JDK中添加此内容的文章1.8?
| 归档时间: |
|
| 查看次数: |
181 次 |
| 最近记录: |