Как я могу преобразовать значение String в экземпляр данного типа Comparable в Java?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как я могу преобразовать значение String в экземпляр данного типа Comparable в Java?

Сообщение Anonymous »

Я пытаюсь реализовать универсальный служебный метод, который принимает значение String и тип Class и возвращает экземпляр этого типа.
Контекст: это значение представляет данные из столбца JPA, поэтому тип соответствует типу свойства сущности (например, String, Integer, LocalDate, Instant и т. д.).
Все целевые типы гарантированно реализуются Сопоставимо.
Вот упрощенный пример того, что у меня сейчас есть:

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

public class TypeParser {

public static Object convertStringToTypeOf(String raw, Class type){
return Integer.valueOf(raw);
}
}
Мне нужен правильный, типобезопасный и расширяемый подход, который может обрабатывать типичные типы Comparable без жесткого кодирования длинной цепочки if/else. Подобные операторы:

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

if (type == String.class) return raw;
if (type == Integer.class) return Integer.valueOf(raw);
if (type == LocalDate.class) return LocalDate.parse(raw);
if (type == Instant.class) return Instant.parse(raw);
Я хотел бы сделать его максимально универсальным, удобным в обслуживании и типобезопасным, поскольку он будет частью утилиты уровня платформы для динамического сопоставления значений в сущностях JPA.
Основная идея такова: если этот тип является производным от `Comparable`, что гарантируется, он будет создан, так как позже он будет сравниваться.

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

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

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

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

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

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