非实体变量:“可序列化”类中的字段应该是瞬态或可序列化的

问题描述 投票:0回答:2

“ Serializable”类中的字段应该是临时的或可序列化的,可以修复在另一个类中使用的任何实体/类,但是当在dto类中声明List / Map时,甚至不能将其声明为也是短暂的。请让我知道如何解决此问题。

Ex:

public class CustomMetadataDTO implements Serializable {

private UUID id;

private Map<String, Object> metadata = new HashMap<>();

private UUID fieldGroupId;

private Integer order;


public CustomMetadataDTO(Map<String, Object> metadata, Integer order) {
    this.metadata = metadata;
    this.order = order;
}

public CustomMetadataDTO() {
}}

对于下面的行,我认为声纳古伯问题很严重

private Map<String, Object> metadata = new HashMap<>();

enter image description here

java spring-boot sonarqube sonarlint
2个回答
0
投票

HashMap是可序列化的,但是Map不能实现,因为它没有实现Serializable接口。您可以在声明时尝试使用HashMap本身(不推荐)。


0
投票

HashMap可序列化,但Map不可序列化。您可以在声明时尝试使用HashMap本身(不推荐)。

© www.soinside.com 2019 - 2024. All rights reserved.