Динамический вызов функции Java
У меня есть класс
class JsonMap extends HashMap<String, Object> {}
Я инициализировал такой объект
JsonMap jm = new JsonMap();
Я вставляю в него данные вот так
jm.put("id", 4);
jm.put("message", "Hello");
но я хочу сделать что-то простое с таким же эффектом.
jm.setId(4);
jm.setMessage("Hello");
Это возможно без необходимости писать методы setId
а также setMessage
в JsonMap
учебный класс?
имя функции является динамическим: первая часть всегда установлена и вторая часть является динамическим значением. это пойдет как ключ внутрь HashMap
,
Может кто-нибудь показать мне, как этого добиться, если это возможно?
3 ответа
То, что вы ищете, не возможно, так как язык не поддерживает такого рода функции, поэтому, по крайней мере, вы можете перестать искать встроенную функцию языка. Альтернативные варианты, которые вы можете посмотреть:
Вам нужно написать методы, чтобы сделать это для вас
public void setId(int id) {
jm.put("id", id);
}
public void setMessage(String message) {
jm.put("message", message);
}
Java является строго типизированным языком, а не языком сценариев, поэтому нет, без написания методов это невозможно setId
а также setMessage
в JsonMap
учебный класс.