Я написал следующее:
public class DataContainer<Data>{
public DataContainer(Class<Data> clazz, String method) throws NoSuchMethodException, SecurityException{
clazz.getMethod(method);
}
}
И поэтому я создаю свои объекты таким образом:
new DataContainer<SomeClass>(SomeClass.class, "get");
Но я хотел, чтобы это выглядело больше как:
public class DataContainer<Data>{
public DataContainer(String method) throws NoSuchMethodException, SecurityException{
Data.getMethod(method);
}
}
И вызов конструкции должен выглядеть следующим образом:
new DataContainer<SomeClass>("get");
Как можно избежать передачи класса Data
при создании объекта A DataContainer
?Я знаю, что Data
нельзя манипулировать во время выполнения (new DataContainer<>("get");
-> что такое Data тогда?), Но я слышал, что есть решения, которые можно обойти, к сожалению, похоже, у меня еще нет словаря, чтобы гуглить его.
Также это упрощенная версия моей проблемы, мы предполагаем, что метод допустим, общедоступен и не имеет аргументов.