Я хотел бы знать, как создать контракт с вызывающей стороной для параметра Method в том случае, если метод сам имеет параметры. Так что я пользуюсь ...
ClassA {
String string_ = "HI";
public static void subscribe(Object class, Method action) {
action.invoke(class, string_);
}
}
ClassB {
ClassB() {
ClassA.subscribe(this, this.getClass().getMethod("load", String.class));
}
public void load(String input) {
if(input.equals("HI")) {
...
}
}
}
Я хотел бы знать, как обеспечить, чтобы метод, передаваемый как «действие», принимал в качестве параметра String (т. Е. Обеспечивал бы метод action == load (String) {})? Есть ли что-то подобное:
public static void subscribe(Object class, Method action(String.class)) {
Я хочу сделать это в сигнатуре метода подписки, чтобы для вызывающего класса (ClassB) было очевидно, что он должен быть готов принять аргумент указанного типа.
РЕДАКТИРОВАТЬ: Обновлен последний бит кода, чтобы не отображать, как если бы метод был универсальным. Плохой выбор использования <> с моей стороны, чтобы представить пример того, что я пытался передать.