Как я могу заставить мой универсальный класс требовать от его параметров расширения / реализации нескольких классов? - PullRequest
2 голосов
/ 02 октября 2009

Я ищу правильный синтаксис для следующего:

public class Foobar<K extends SomeJavaAPIClass and implements Cloneable>{

Так что у меня может быть Foobars 'K', где K является общим подклассом SomeJavaAPIClass и где K имеет свой собственный метод clone ()

Я пытался <K extends SomeJavaAPIClass, implements Cloneable> без удачи, наряду с другими перестановками

Ответы [ 2 ]

9 голосов
/ 02 октября 2009

Использование &:

public class Foobar<K extends SomeJavaAPIClass & Cloneable> {

Обратите внимание, что в общих символах подстановки «extends» означает только «является подтипом», поэтому вы используете его для классов или интерфейсов.

3 голосов
/ 02 октября 2009

Я думаю, что верно следующее:

public class Foobar<K extends SomeJavaAPIClass & Cloneable> {

Насколько я знаю, "extends" используется как для классов, так и для интерфейсов в общих объявлениях. Кто-нибудь еще захочет прокомментировать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...