尖括号内问号的含义是什么:<?extends java.lang.Comparable>

2022-09-04 08:39:40

根据JavaDoc的说法,在App Engine中,该方法具有以下签名:getTypeRank

public static int getTypeRank(java.lang.Class<? extends java.lang.Comparable> datastoreType)

在方法签名中,尖括号内有一个问号:

<? extends java.lang.Comparable>

它意味着什么?


答案 1

?基本上表示通配符。 意思是“任何扩展java.lang.Comparable(或Compeable本身)的类型都可以在这里使用”。<? extends java.lang.Comparable>


答案 2

它被称为有界通配符

<? extends Comparable>是有界通配符的一个示例。这?代表未知类型,就像我们之前看到的通配符一样。但是,在这种情况下,我们知道这种未知类型实际上是Compaable的子类型。(注意:它可以是Compeableitself,或者是一些子类;它不需要从字面上扩展Compable。

您可以在此处找到更多详细信息


推荐