что именно означает родовое расширение класса? - PullRequest
3 голосов
/ 05 октября 2011

что это значит?

public class Deck<T extends Card> 

Что означает карточка T extends? Означает ли это что-то о классе Card?

спасибо!

1 Ответ

6 голосов
/ 05 октября 2011

Ограничивает параметр типа ("T") как Card или подтип Card.

Так что если

public class FancyCard extends Card

... тогда этодопустимый тип для использования с Deck (то есть Deck<FancyCard>).Однако String явно не расширяет Card, поэтому Deck<String> не будет компилироваться.

...