Исходя из того, что вы пояснили свой вопрос (я бы посоветовал отредактировать его в вопросе, чтобы другие могли ответить на него), может работать универсальный синтаксический анализатор , но меня больше беспокоит то, как ваши данные былии как это было отформатировано.(Почему это противоречиво?)
Ваши данные, как вы пояснили, будут одинаковыми по всем строкам (например, вы ожидаете ровно два типа String
, один тип int
и одинтип Date
).Однако, если значения в файле могут отображаться в другом порядке, у вас будут искаженные данные, и файлу не следует доверять по номиналу.Лучше было бы гарантировать целостность данных, поскольку два String
в любом порядке весьма неоднозначны (это имя? Адрес?).
Если вы действительно хотите продолжить, это можетбыть неэффективным, но я бы рекомендовал проверку правильности данных вместо полиморфизма в этом случае.Всякий раз, когда вы читаете из файла, отправьте его вспомогательному методу и посмотрите, подходит ли он для определенного формата и .Если этого не произойдет, переместите его к следующему помощнику, пока все данные не будут успешно проанализированы и прочитаны.