就是这样了,非常简单的一个转换,同事的电脑可以执行的代码到我这里是编译的时候就报错
'TypeReference()' has protected access in 'com.alibaba.fastjson.TypeReference'
以及
Error:(53, 61) java: TypeReference(java.lang.reflect.Type...) 在 com.alibaba.fastjson.TypeReference 中是 protected 访问控制
导包决对是正确的,有人来帮忙看下吗,急赶工程
public static void main(String[] args) {
String str = "{'XX':1}";
Map<String, BigDecimal> map = JSON.parseObject(str, new TypeReference<Map<String, BigDecimal>>());
}
JSON.parseObject(str, Map.class);这样就OK啊
或者改成JSON.parseObject(str, new TypeReference>(){});
原因是TypeReference的构造函数的问题,参数是(Type... actualTypeArguments),解决方法是在新建的TypeReference类后面加上一个空白方法块,示例如下:new TypeReference>() {},具体原因我就一知半解了,有知道的大佬补充一下
public static void main(String[] args) {
String str = "{'XX':1}";
Map<String, BigDecimal> map = JSON.parseObject(str, new TypeReference<Map<String, BigDecimal>>() {});
}
大概原因是你们两个人的jar版本不同,或者是不是jdk版本不同?
将jdk的版本统一一下,建议你降级成和他一样的