Когда-то этот вопрос был задан без удовлетворительного ответа, кроме «зачем вам это делать» на Зарезервированные слова как имена переменных или методов. Я собираюсь задать этот вопрос еще раз и предоставить контекст, который объясняет, почему это необходимо, и даже направление к правильному решению.
Я пишу код, который динамически создает классы в соответствии со схемой базы данных, которую я не контролирую. По большей части код работает чисто, но примерно в 1% случаев столбцов в Java используются зарезервированные слова в качестве имен столбцов. Следующий код используется для создания динамического поля в классе:
evalClass.addField (CtField.make ("public" + columnType + "" + columnName + ";", evalClass));
Теперь с языком Java это приводит к проблеме, однако в байтовом коде JVM это должно быть совершенно законным, поэтому должен быть способ динамически создавать это поле и обращаться к нему с помощью операций с байтовым кодом. Есть ли у кого-нибудь примеры того, как это будет сделано таким образом, чтобы поддерживать произвольные строки, включая пробелы и зарезервированные слова? Спасибо!
ResultSet
, который предоставляет информацию для каждого столбца как VO, а не для каждой строки как POJO / bean - где они, вероятно, еще раз снова будут сопоставлены с классами на стороне приложения. Но в любом случае достаточно ли просто, например, префикс всех ваших имен полей с _ и убрать его? Плюс ответ Сурьмы. - person Jason C   schedule 11.09.2016