1

我试图传递除 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();
}
4

2 回答 2

0

尽管我认为以下内容不会直接回答您的问题,但它可能会为您提供一些关于如何实现特定用例的指导或帮助。

关于上限的 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 {

}
于 2020-01-30T10:00:39.277 回答
0

谢谢Garreth Golding,我会试一试的!谢谢指导!

于 2020-01-30T14:42:42.803 回答