bug场景 内部类使用:
:
Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `com.sirrahhk.dto.order.CreateOrderDto$Products` (although at least one Creator exists): non-static inner classes like this can only by instantiated using default, no-argument constructor
at [Source: (PushbackInputStream); line: 26, column: 21] (through reference chain: com.sirrahhk.dto.order.CreateOrderDto["productList"]->java.util.ArrayList[0])
原因分析:
内部类被调用,因为不是静态的,所以不能被实例化
public static class Products {
}
解决方案:
因为非静态内部类,是不能直接进行实例化,如:
Model.Data data = new Model.Data()编译会出错,如果我们想实例化非静态内部类,则必须要有一个外部类的实例,如:
Model model = new Model();
Model.Data data = model.new Date();
由于无法直接创建内部类的实例,所以fastJson解析数据时会报错无法创建实例。