Ann*_*nna 1 java spring mongodb lombok
我有这个代码:
@NoArgsConstructor
public class localizedInformations implements Serializable {
@Getter
@JsonProperty("infos")
private Map<String, Set<Info>> localizedInfos = new HashMap<>();
}
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class TechnicalInfo implements Serializable {
private static final long serialVersionUID = -8926217088092761683L;
private String label;
private List<String> values;
}
Run Code Online (Sandbox Code Playgroud)
在执行findAllmongo 操作时的某个时刻,我收到此错误:
Failed to instantiate java.util.Set using constructor NO_CONSTRUCTOR with arguments
Run Code Online (Sandbox Code Playgroud)
你能看出问题出在哪里吗?
谢谢!
这是一个例子
private Map<String, Set<Info>> localizedInfos = new HashMap<>();
这段代码的问题是,当您保存数据时,不会出现错误。然后当你检索数据时,(正如Zsolt V解释的)java尝试再次构建该数据,但是因为该对象的类型是一个接口,java无法决定它是什么类型的Set(它可以是HashSet,LinkedHashSet等) .)
一个简单的解决方案是使用 HashSet 而不是 Set,如下所示
private Map<String, HashSet<Info>> localizedInfos = new HashMap<>();
当我尝试从 Spring 安全包中保存 Key 对象时,我遇到了这个问题,它是一个接口
祝编码人员好运。
保持堆栈流动:D
| 归档时间: |
|
| 查看次数: |
6731 次 |
| 最近记录: |