我尝试传递除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();
}发布于 2020-01-30 18:00:39
尽管我认为下面的内容不会直接回答你的问题,但它可能会给你一些关于如何实现你的特定用例的指导或帮助。
Upper Bounds上的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-30 22:42:43
谢谢Garreth Golding,我会试一试的!感谢您的指导!
https://stackoverflow.com/questions/59979427
复制相似问题