当前位置: 首页 > 面试题库 >

布尔字段上的Findbugs错误SE_BAD_FIELD

云伯寅
2023-03-14
问题内容

我们将Findbugs配置为通过Maven在我们的Jenkins上运行。

除其他外,它在以下代码行上抱怨SE_BAD_FIELD:

private boolean logged = false;

此错误的说明说

Se:可序列化类(SE_BAD_FIELD)中的非瞬态不可序列化实例字段

该Serializable类定义了一个非基本实例字段,该实例字段既不是临时的,Serializable的也不是java.lang.Object,并且似乎没有实现Externalizable接口或readObject()和writeObject()方法。如果不可序列化的对象存储在此字段中,则不会正确反序列化此类的对象。

但是boolean是原始的吗?那么为什么要抱怨呢?还是这是某种Findbugs,Maven或Jenkins Bug?


问题答案:

我注意到,FindBugs有时报告错误的SE_BAD_FIELD行号。因此,您可能需要检查其他字段的可串行性。(我使用FB 1.3.9。)。



 类似资料:
  • 我们已经将Findbugs配置为通过Maven在Jenkins上运行。 除其他外,它抱怨以下代码行SE_BAD_FIELD: 这个bug的描述是 Se:可序列化类中的非瞬态非可序列化实例字段(Se\u BAD\u字段) 这个可序列化类定义了一个非原语实例字段,它既不是瞬态的、可序列化的,也不是java的。并且似乎没有实现可外部化的接口或readObject()和writeObject()方法。如果

  • 问题内容: 这可能是一个非常愚蠢的问题,但是对数据库表中的布尔字段建立索引是否会有很多好处? 在常见情况下,例如标记为“无效”的“软删除”记录,因此大多数查询都包含,这将有助于对该字段进行单独索引,还是应将其与其他常见搜索字段组合在一起?不同的索引? 问题答案: 没有。 您可以对要搜索的字段具有较高的选择性/基数进行索引。几乎所有表都消除了布尔字段的基数。如果有的话,它将使您的写入速度变慢(降低的

  • 我有一个非常特别的问题,关于查询嵌套到数组字段的布尔字段和字符串字段。索引映射如下所示: 文档索引还有许多其他字段,这些字段没有嵌套到数组字段中,但必须包含在查询字段中。我尝试了一种使用过滤器和布尔查询的方法,如下所示: 这个查询的问题是,它返回的文档在我看来不必返回。在这种情况下,文件如下所示: 您可以注意到,array_field_1的第三项包含boolean_field_2:false和正在

  • 问题内容: 我在一本书中找到了这段代码,并在Netbeans中执行了它: 我只是不明白为什么这段代码的输出是真实的,任何人都可以启发我,谢谢。 问题答案: 它缺少双等号。因此,它是在做赋值而不是相等比较(请记住,赋值的返回值是新值)。在大多数情况下,大多数类型都不是布尔值,这意味着结果不是布尔值,因此对一条语句而言它是非法的,从而导致编译器错误。但是,由于此处的类型已经是布尔值,因此赋值会导致布尔

  • 出于某种原因,我得到了这个布尔值的空对象引用,我不知道为什么。我不明白为什么布尔值返回空对象引用 这是活动代码 这是发生在第101行和第75行的完整错误日志