2010-02-28 20 views
10

In App Engine, secondo the JavaDoc, il metodo getTypeRank ha questa firma:Qual è il significato del punto interrogativo all'interno delle parentesi angolari: <? si estende java.lang.Comparable>

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

nella firma del metodo c'è un punto di domanda all'interno delle parentesi angolari:

<? extends java.lang.Comparable>

Che cosa significa?

+0

https://docs.oracle.com/javase/tutorial/java/generics/upperBounded.html –

risposta

8

? indica essenzialmente un carattere jolly. <? extends java.lang.Comparable> significa "qualsiasi tipo che estende java.lang.Comparable (o Paragonabile stesso) può essere usato qui".

0

? si riferisce a qualsiasi sottoclasse di java.lang.Comparable. In altre parole, qualsiasi classe che estende java.lang.Comparable.

4

Si chiama limitata jolly

<? extends Comparable> è un esempio di un jolly limitato. Il ? sta per un tipo sconosciuto, proprio come i caratteri jolly che abbiamo visto prima. Tuttavia, in questo caso, sappiamo che questo tipo sconosciuto è in realtà un sottotipo di Paragonabile. (Nota:. Potrebbe essere Comparableitself, o qualche sottoclasse, ma non deve letteralmente estendere comparabili).

Maggiori dettagli a trovare here

1

Significa "qualsiasi classe che implementa l'Comparable interfaccia Così, una chiamata sarebbe per esempio assomigliare a getTypeRank(String.class).

Problemi correlati