Как вы обходите исключения PropertyAccessException, когда ключ верхнего уровня в хэш-карте может существовать или не существовать?
В приведенном ниже примере, если свойство существует, оно работает просто отлично, но если свойство не существует в карте переменных, оно генерирует исключения PropertyAccessExceptions. Я знаю, что я могу использовать? для нулевой безопасной навигации, но это не работает, когда свойство существует на верхнем уровне.
Есть предложения?
HashMap<String, Object> variables = new HashMap<>();
variables.put("aProperty", "aValue");
Boolean result = MVEL.evalToBoolean("'aValue' == aProperty", variables);
assertThat(result).isTrue(); //This works
result = MVEL.evalToBoolean("'aValue' == aNonExistentProperty", variables);
assertThat(result).isFalse(); //This throws a PropertyAccessException, since aNonExistentProperty is not defined
Я бы хотел, чтобы обходной путь избежал PropertyAccessExceptions.