Сделать «данные» временными или сериализуемыми Ошибка SonarQube - PullRequest
2 голосов
/ 22 октября 2019

Я создал этот класс

@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(of = { "id" })
@Builder(toBuilder = true)
@JsonInclude(NON_NULL)
public class Hostel<T> implements Serializable {

    @Field
    private Long version;   
    @JsonProperty("_data")
    private @NotNull T data;

}

Но у меня есть ошибка SonarQube:

Make "data" transient or serializable SonarQube Error

, но данные имеют общий тип

Ответы [ 2 ]

2 голосов
/ 22 октября 2019

Вы можете сделать это transient или просто связать T с <T extends Serializable>.

0 голосов
/ 22 октября 2019

T неизвестного типа здесь. Таким образом, непредсказуемо, будет ли T сериализуемым или нет. большинство встроенных классов java сериализуемы, например, String, Map, List и т. д., но если вы используете универсальные типы, это непредсказуемо и, следовательно, связывает его с Serializable или, если вы не хотите, чтобы он сериализовался, отметьте его transient.

Читайте здесь , чтобы узнать больше о ограниченных типах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...