0

我有一个字符串值,我希望使用 JAXB 将其设置为 bean。所以我有一个 RuntimeTypeInfoSet 实例,我可以获取 RuntimePropertyInfo 并从该调用 getAccessor 获取属性的访问器。问题是访问器要求值已经是正确的类型。我该如何转换它?

4

1 回答 1

1

答案是使用 Transducer 实例:

switch (property.kind()) {
    case VALUE:
    case ATTRIBUTE:
        transducer = ((RuntimeNonElementRef) property).getTransducer();
        break;
    case ELEMENT:
        transducer = ((RuntimeElementPropertyInfo) property).getTypes().get(0).getTransducer();
        break;
    case REFERENCE:
    case MAP:
    default:
        throw new UnsupportedOperationException("Don't know how to handle property kind " + property.kind() + " for " + property);
}
于 2012-04-11T12:19:12.927 回答