Pola w klasie „Serializowalne” powinny być przejściowe lub możliwe do serializacji, aby naprawić dowolną jednostkę / klasę używaną w innej klasie, ale dzieje się tak, gdy Lista / Mapa jest zadeklarowana w klasie dto, której nie można nawet uczynić tak przejściowymi, jak dobrze. daj mi znać, jak to naprawić.
Dawny:
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() {
}}
Dla poniższej linii problem sonarqube jest krytyczny
private Map<String, Object> metadata = new HashMap<>();
1 odpowiedź
HashMap można serializować, ale Map nie jest, ponieważ nie implementuje interfejsu Serializable. Możesz spróbować użyć samego HashMap podczas deklarowania (niezalecane).
private HashMap<String, Object> metadata = new HashMap<>();
Podobne pytania
Powiązane pytania
Nowe pytania
java
Java to język programowania wysokiego poziomu. Użyj tego tagu, jeśli masz problemy z używaniem lub zrozumieniem samego języka. Ten tag jest rzadko używany samodzielnie i jest najczęściej używany w połączeniu z [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] i [maven].