使 "data" 瞬态或可序列化的 SonarQube 错误

Make "data" transient or serializable SonarQube Error

我创建了这个 class

@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

但数据是通用类型

您可以将其设为 transient,或者仅将 T<T extends Serializable> 绑定。

T 在这里是未知类型。因此,T 是否可序列化是不可预测的。 java 的大多数内置 类 都是可序列化的,例如String、Map、List 等,但是当您使用泛型类型时,它是不可预测的,因此将其绑定为 Serializable 或者如果您不希望它被序列化,则将其标记为 transient.

阅读 here 了解有关有界类型的更多信息