gpt4 book ai didi

java - 在方法声明中使用 super

转载 作者:行者123 更新时间:2023-11-30 08:03:39 25 4
gpt4 key购买 nike

我想了解这个 Java 声明在做什么:

public static <AnyType extends Comparable<? super AnyType>> int mymethod( AnyType x ) {
/* ... */
}

根据我对 Java 的基本了解,我认为它所做的只是告诉您参数 x 必须是任何类型,但该类型必须扩展 Comparable?

最佳答案

你的理解是正确的。此方法表明它采用扩展 Comparable 类型的参数(请注意,为了便于阅读,我会调用类型参数 T 而不是 AnyType)。

现在为 superComparable<? super AnyType>> , 这意味着这个可比较的实现实际上可以是,例如 Comparable<Object> 的实现,这是可以与对象进行比较的可比较类型。 更一般地说,该方法接受的类型可以是 Comparable可以将其与作为它的父类(super class)或超接口(interface) 的某种类型进行比较,因此关键字 super .换句话说,可以按如下方式调用该方法:

// An object of this type can be compared to an Object
class X implements Comparable<Object> {

@Override
public int compareTo(Object o) {
...
}


}

X x = new X();
mymethod(x);

关于java - 在方法声明中使用 super,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36153767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com