Comparator & Serializable这行代码是什么意思呢?
4条回答 默认 最新
关注
表面上理解确实不好理解。
意思是,将lambda表达式的返回值返回给具有多个接口实现的类型。
如果没有(Comparator & Serializable),那么类型默认就是接收的类型,如果想在此基础上扩展接口,则用(A & B & C)的形式。
怎么验证了,也很简单,用instanceof。interface MyComparator{ int compare(int a,int b); }
MyComparator comparator = (MyComparator & Serializable)(c1, c2)-> Integer.compare(3,2) ; System.out.println(comparator instanceof MyComparator); // true System.out.println(comparator instanceof Serializable); // true System.out.println(comparator instanceof Cloneable); // false
MyComparator comparator = (MyComparator & Serializable & Cloneable)(c1, c2)-> Integer.compare(3,2) ; System.out.println(comparator instanceof MyComparator); // true System.out.println(comparator instanceof Serializable); // true System.out.println(comparator instanceof Cloneable); // true
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报