dubbo-hessian-lite icon indicating copy to clipboard operation
dubbo-hessian-lite copied to clipboard

com.alibaba.com.caucho.hessian.io.HessianInput.readObject()不管什么类型读取出来的都是list

Open iwhalecloud-platform opened this issue 4 years ago • 1 comments

代码

com.alibaba.com.caucho.hessian.io.HessianInput.readObject();

if (List.class != reader.getType() && List.class.isAssignableFrom(reader.getType()))
                    return reader.readList(this, length, valueType ? expectedTypes.get(0) : null);

第一个条件:List.class != reader.getType() 读取的类型不能是List 第二个条件:List.class.isAssignableFrom(reader.getType())) 判断接口类型,这里明显少了一个 感叹号。 应该加一个感叹号

!List.class.isAssignableFrom(reader.getType()))

否则永远都是list读取

 case 'V': {
                String type = readType();

如果type为空是否要默认list,否则读取的是map序列化

iwhalecloud-platform avatar Apr 16 '20 03:04 iwhalecloud-platform