gpt4 book ai didi

java - 为什么 SonarQube 在类序列化时给出 transient /私有(private)错误?

转载 作者:行者123 更新时间:2023-12-02 08:16:23 24 4
gpt4 key购买 nike

我有一个实现可序列化的java类,我假设类中的变量也会被序列化,但SonarQube向我提示它不是。

我的代码片段如下所示:

SonarQube Error

最佳答案

SonarQube 将此行标记为错误,因为 java.util.List没有实现java.io.Serializablejava.util.ArrayList是可序列化的,但 bondAxeMarkQuoteUpdates protected ,因此有人可以为其分配其他不可序列化列表(例如在子类中)。

要解决该问题,您可以:

  1. 将该字段设置为transient,但在序列化过程中它将被忽略
  2. 将该字段设置为私有(private),以便 SonarQube 可以验证没有人为其分配不可序列化列表
  3. 将字段类型更改为可序列化类型(例如 java.util.ArrayList )

关于java - 为什么 SonarQube 在类序列化时给出 transient /私有(private)错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43917902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com