Единственный язык, на котором он - на практике * - не разрешен, - это Javascript, и это вызывает бесчисленное количество проблем. Например, если вы скопируете & amp; вставьте строку из середины массива, вставьте ее в конец и забудьте удалить запятую, тогда ваш сайт будет полностью разбит для ваших посетителей IE.
* Теоретически это разрешено, но Internet Explorer не соответствует стандарту и рассматривает его как ошибку
О дизайне-проблема 1:
Я бы хотел зарегистрировать множество обработчиков, которые можно основывать на общем интерфейсе, а затем реализовать конкретное поведение индивидуально. Это хорошо, потому что центральный метод обработки вашего ввода невелик, и вам нужно всего лишь зарегистрировать много синглетов один раз, при инициализации. Недостаток: если вы забудете один, он не будет работать. Поэтому, может быть, вы можете зарегистрировать их автоматически (отражение или что-то подобное).
Кроме того, карта в этом случае лучше, чем Список, потому что (я полагаю) вам не нужна сортировка. Вам нужно сопоставить ключ с поведением, чтобы карта выглядела лучше (хотя даже очень большой набор ключевых слов, вероятно, не будет очень неэффективным, если вы будете придерживаться списка).
О задаче проектирования 2:
Если бы я был вами, я бы использовал реальные шаблоны регулярных выражений. Взгляните на класс java.util.regex.Pattern
. Вы можете изолировать группы и проверить полученные значения. Хотя он не избавляет вас от обработки исключений / ошибок, он очень помогает в сегментации и интерпретации.