Java 自比较接口在集合类中做什么?
在实践反思的过程中,我开始了解Java 自比较接口在集合类中做什么?,java,generics,collections,interface,marker-interfaces,Java,Generics,Collections,Interface,Marker Interfaces,在实践反思的过程中,我开始了解集合类中的自比较接口 interface java.util.Collections$SelfComparable 此界面用于什么?它什么都不做。它是私有的,因此您无法导入它 它实际上是一个注释,说明该类型是“自可比的”,并且没有实际使用 没有任何东西可以实现这个接口。使用它的代码依赖于它将在运行时被丢弃的事实 public static <T> T max(Collection<? extends T> coll, Comparator&
集合
类中的自比较接口
interface java.util.Collections$SelfComparable
此界面用于什么?它什么都不做。它是私有的,因此您无法导入它 它实际上是一个注释,说明该类型是“自可比的”,并且没有实际使用 没有任何东西可以实现这个接口。使用它的代码依赖于它将在运行时被丢弃的事实
public static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp) {
if (comp==null)
return (T)max((Collection<SelfComparable>) (Collection) coll);
publicstatictmax(收集From:
private interface selfcompariable扩展了compariable{}
这只不过是可比的标记,这基本上意味着它是与自我比较的可比的标记。它的使用有些多余
它被用作:
return(T)min((收集)(收集)coll);
它基本上将集合强制转换为collection
,然后将泛型参数强制转换为selfcompariable
,它只是扩展了compariabledo->notdo?@Kent这是什么意思:)@Prateek这意味着我把我的话弄混了。:)@Peter的意思是评论它不会有任何影响。
public static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp) {
if (comp==null)
return (T)max(/*SelfComparable*/ (Collection) coll);
private interface SelfComparable extends Comparable<SelfComparable> {}
return (T)min((Collection<SelfComparable>) (Collection) coll);