& # 8220; Кодирование значения ключа & # 8221; для Java
-
05-07-2019 - |
Вопрос
В Objective-C на Apple есть что-то, называемое «кодирование значения ключа». это позволяет вам перемещаться по графу объектов, используя строки, похожие на пути файловой системы. Существует неформальный протокол (то есть интерфейс), который позволяет объектам возвращать значения на основе ключа " они просят. например По умолчанию возвращается значение поля, названного ключом, тогда как реляционные коллекции, такие как NSDictionaries, могут реализовывать более интересное поведение.
Пример псевдокода:
foo.bar = new baz(); foo.bar.mymap = new map(); foo.bar.mymap['bom'] = 2; foo.valueForKeyPath("bar.mymap.bom") # 2
Есть ли что-нибудь подобное для Java? Это было бы достаточно легко реализовать, но я подумал, что посмотрю первым.
Решение
PropertyUtils.getProperty из библиотеки apache beanutils делает это для свойств JavaBean. Р>
Другие советы
Хм, хорошо, если у кого-то еще есть этот вопрос, похоже, что MVEL - хорошая ставка: