Что-то вроде этого, чего я пытаюсь достичь:
public Attribute<?> getAttribute(Class<? extends Attribute> attributeClass){
for(Attribute attribute: attributes)
if(attributeClass.isInstance(attribute)) return attributeClass.cast(attribute);
return null;
}
где атрибут <? > , очевидно, является неправильной частью.
Я хочу, чтобы возвращаемый тип этого метода имел атрибутClass, но я не могу понять, как это получить. Я должен отметить, что я знаю, что я мог бы просто использовать атрибут как возвращаемый тип, но этот метод будет в основном вызываться следующим образом:
AttributeType1 attributeType1 = getAttribute(AttributeType1.class);
... и я стараюсь избегать бросать каждый раз.
Помогите оценить.