Используя Java 5 перечислений как Скоростные переменные

Быстрое предложение, поднимите RegEdit и ищите существующую строку названия компании. Тогда попытайтесь изменить его.

10
задан Thilo 10 July 2009 в 05:56
поделиться

3 ответа

На самом деле, вместо метода toString () было бы лучше использовать name (), так как он возвращает именно значение enum и является окончательным, поэтому не может быть переопределен в будущем. Так что в скорости вы можете использовать что-то вроде

#if($var.name() == "INFO")
19
ответ дан 3 December 2019 в 15:22
поделиться

Неприятно, но одним из способов обходного решения было бы (вручную) поместить необходимые константы перечисления в контекст скорости.

request.setAttribute('level_info', Level.INFO);
request.setAttribute('level_error', Level.ERROR);

Тогда вы могли бы сказать

#if ($var == $level_info)

Может быть, проще: просто используйте toString () вашего экземпляра перечисления

#if ("$var" == 'INFO') 
3
ответ дан 3 December 2019 в 15:22
поделиться

Начиная со Velocity 1.5, если два сравниваемых элемента == относятся к разным классам, он автоматически выполняет toString () для обоих. Так что попробуйте

#if($var == "INFO")
7
ответ дан 3 December 2019 в 15:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: