Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 自比较接口在集合类中做什么?_Java_Generics_Collections_Interface_Marker Interfaces - Fatal编程技术网

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
,它只是扩展了
compariable

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