【问题标题】:Make "data" transient or serializable SonarQube Error使“数据”瞬态或可序列化 SonarQube 错误
【发布时间】:2020-02-18 06:25:10
【问题描述】:

我已经创建了这个类

@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

但数据是通用类型

【问题讨论】:

    标签: java sonarqube lombok


    【解决方案1】:

    您可以将其设为transient,或者将T&lt;T extends Serializable&gt; 绑定。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2019-02-08
        • 2016-07-01
        • 2020-04-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-27
        • 1970-01-01
        • 2022-08-18
        相关资源
        最近更新 更多