使 "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 了解有关有界类型的更多信息
我创建了这个 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 了解有关有界类型的更多信息