Использование переменной типа Class в конструкции переключателяJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Использование переменной типа Class в конструкции переключателя

Сообщение Anonymous »

Мне нужен контейнер данных для нескольких типов данных, и я не могу написать какую-то всемогущую :-) функцию конвертера.
Может быть, моя идея - краб, в данном случае, пожалуйста, подскажите, какую концепцию использовать.
Мой текущий шаблон выглядит следующим образом:

Код: Выделить всё

    public static Object convert(Class dataType, String data) {
switch (dataType) {
case JsonNode.class:
return new ObjectMapper().readTree(data);
break;
case Integer.class:
return Integer.parse(data);
break;
default:
break;
}
}
Но он не компилируется с ошибками:
Константа Case типа Class несовместима с типом селектора переключателя Class
Константа Case типа Class несовместима с типом селектора переключателя Class
Я полностью ввожу в заблуждение в своем решении или есть допустимое синтаксис, чтобы это сделать?
--- Редактировать ---
возможно, мне следует объяснить вариант использования :-)
Эта конструкция используется при интерпретации написанного пользователем файла конфигурации.
Файл конфигурации поддерживает внутренние ссылки, вызовы некоторых внутренних функций И (важная часть) простой решатель уравнений.
например. вы можете настроить получение даты/времени встречи из внешнего источника URL-адресов и настроить действия, например. произошло за 2 часа до этого. Эти правила расчета берутся в виде текста из конфиг-файла и их нужно как-то анализировать. если они терпят неудачу, они терпят неудачу -> прим. error.
Вот почему код должен быть максимально толерантным... именно конфигурация пользователя может вызывать ошибки (синтаксические, типовые или математические).

Подробнее здесь: https://stackoverflow.com/questions/798 ... -construct
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»