Java, как сохранить выражение с переменной или базой данных? Я хочу, чтобы угадай, игра может автоматически оценивать результат по выражению. например, игра с прогнозированием цены, когда акции закрываются, сегодня закрываются> сегодня открываются, сторона A является победителем или сторона B является победителем. В этом случае я хочу, чтобы переменная или БД могли сохранить выражение, как показано ниже: в начале close равно нулю)
side a;
a.expression = "close>open";
когда запас закрывается, мне нужно это автоматически:
game.open=3000;
game.close=4000;
boolean isWinner=autoJudge(a.expression);//I want it return true
Как это сделать в SpringBoot с помощью java? Спасибо.
@ndueck Но мне трудно понять, как можно сохранить такое лямбда-выражение в базе данных ...
Я надеюсь, что все игры типа угадывания могут расширить Game.class и autoJudge, прежде чем задавать этот вопрос, может быть, это неправильно, я разделю разные игры на разные классы реализации.




Отвратительный ответ: даже не пытайтесь.
Помимо огромных проблем с сохранением код в вашей базе данных надежным и надежным способом, это просто идея плохой.
Базы данных хранят данные, а не код (они называются база данных, а не кодовая база). Если ваша игра должна сделать решения на основе содержимого базы данных, то принятие решения должно быть в вашего кода.
для сохранения выражений отметьте «Лямбда-выражения Java8». В вашем случае вы можете попробовать: a.setExpression((close,open) -> close> open), в то время как выражение имеет тип BiPredicate<Integer, Integer>