Sonarqube gibt folgende Fehler:Wie kann ein generischer Typ serialisiert werden?
Fabrikat "Typ" transient oder serializable.
Auf der folgenden Klasse:
@XmlRootElement
public class InsuredAmount<T extends IAType> implements Serializable {
private static final long serialVersionUID = 1L;
private T type;
}
IAType
ist eine Schnittstelle:
public interface IAType {
}
Mit verschiedenen Enum-Implementierungen, wie:
public enum OneIAType implements IAType, Serializable {
GENERIC
}
Die Klasse in ein verwendet wird, REST-Schnittstelle, so sollte es Serializa sein ble.
Meine Fragen: 1. Ich denke nicht, den Typ als transient zu markieren, ist eine gute Idee, weil ich diese Klasse über eine REST-Schnittstelle übertrage. Kann es zu einem Problem führen, wenn ich diesen Typ als vorübergehend markiere? 2. Wie kann ich den Typ serialisierbar machen?
Deklarieren der Art Variable als [Kreuzungstyp] (https://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html# JLS-4.9): ''? –
Mögliche Duplikat von [Wie eine generische Klasse in Java Serialisierung?] (Http://stackoverflow.com/questions/16852247/how-to-serialize-a-generic-class-in-java) – acm