Общие ограничения Java для полей

Пару раз я чувствовал необходимость сделать что-то вроде следующего:

private <T extends Type> Map<GenericClass1<T>,GenericClass2<T>> map;

... или что-то в этом роде. По сути, использование идентичной привязки в двух аргументах для map. (Это не реальный пример, просто показана идея.)

Я знаю, что это (к сожалению) невозможно, и что это ' s доступен только для определений классов и сигнатур методов. Однако у меня вопрос: почему он не доступен на полях? Это чисто дизайнерский выбор или я упустил какую-то техническую причину? Я подумал и не могу понять, почему это невозможно с технической точки зрения, насколько я могу видеть, все есть для компилятора, чтобы он работал правильно, и никакая общая информация не требуется во время выполнения .

5
задан Michael Berry 1 February 2011 в 10:30
поделиться