Как преобразовать из String в указанные c типы с помощью PropertyEditor - PullRequest
2 голосов
/ 30 января 2020

Я пытаюсь передать любой тип класса, кроме примитивных типов java .lang, таких как типы java .math (например, java .math.BigInteger) и настраиваемые типы сборки (например, com.parse). .MyOwnType). Метод ниже только для примитивных типов. У кого-нибудь есть предложение о том, как использовать PropertyEditor, кроме примитивных типов? Существуют ли другие библиотеки редакторов, которые можно использовать для конвертации?

import java.beans.PropertyEditor;
import java.beans.PropertyEditorManager;

private Object convert(Class<?> targetType, String text) {
    PropertyEditor editor = PropertyEditorManager.findEditor(targetType);
    editor.setAsText(text);
    return editor.getValue();
}

Ответы [ 2 ]

1 голос
/ 30 января 2020

Хотя я не думаю, что нижеприведенное ответит на ваш вопрос напрямую, оно может дать вам некоторые рекомендации или помощь в отношении того, как вы можете достичь своего конкретного c варианта использования.

Java документы на Верхние границы

public static void main(String[] args) {
    convert(MyOwnType.class, "Works!");
    convert(String.class, "Compilation Issue!");
}

static Object convert(Class<? extends MyType> targetType, String text) {
    PropertyEditor editor = PropertyEditorManager.findEditor(targetType);
    editor.setAsText(text);
    return editor.getValue();
}

static class MyOwnType extends MyType {

}

static abstract class MyType {

}
0 голосов
/ 30 января 2020

Спасибо, Гаррет Голдинг, я попробую! Спасибо за руководство!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...