在这个例子中,如果先使用
JSONObject.parseObject(resultStr,Result.class),
会导致fastjson的ParserConfig中缓存下Result的类型。
如果后续再使用ParameterizedTypeImpl进行泛型转换,如例子中
JSONObject.parseObject(resultStr,buildType(Result.class,UserDto.class))
会导致返回结果中的data部分无法被正确转换成UserDto,直接返回了第一次的结果。所以在使用泛型转换时,务必确保泛型类型被正确传入,防止fastjson直接缓存下外层类型,导致后续传入泛型时出现无法转换的问题。