当前位置: 首页 > 知识库问答 >
问题:

Findbugs BugSE_BAD_FIELD布尔字段

薛淳
2023-03-14

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

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

private boolean logged = false;

这个bug的描述是

Se:可序列化类中的非瞬态非可序列化实例字段(Se\u BAD\u字段)

这个可序列化类定义了一个非原语实例字段,它既不是瞬态的、可序列化的,也不是java的。并且似乎没有实现可外部化的接口或readObject()和writeObject()方法。如果此字段中存储了不可序列化的对象,则此类的对象将无法正确反序列化。

但是布尔值是一个基元吗!?那它为什么要抱怨呢?或者这是某种Findbugs、Maven或Jenkins Bug?

共有1个答案

通寂离
2023-03-14

我注意到FindBugs有时会为SE\u BAD\u字段报告错误的行号。因此,您可能需要检查其他字段的可序列化性。(我使用FB 1.3.9)。

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

  • 我当时在做一个计算机科学测试,并尝试了这个问题。 据我所知,我认为打印输出是假的,因为据我所知,字符串只能与。等于()。但我弄错了。它说答案是假的,是真的。有人能解释一下原因吗?

  • 3.4. 布尔型 一个布尔类型的值只有两种:true和false。if和for语句的条件部分都是布尔类型的值,并且==和<等比较操作也会产生布尔型的值。一元操作符!对应逻辑非操作,因此!true的值为false,更罗嗦的说法是(!true==false)==true,虽然表达方式不一样,不过我们一般会采用简洁的布尔表达式,就像用x来表示x==true。 布尔值可以和&&(AND)和||(OR)操作

  • bool: 可能的取值为常量值true和false. 支持的运算符: !逻辑非 && 逻辑与 || 逻辑或 == 等于 != 不等于 备注:运算符&&和||是短路运算符,如f(x)||g(y),当f(x)为真时,则不会继续执行g(y)。

  • Pascal提供数据类型Boolean,使程序员能够定义,存储和操作逻辑实体,例如常量,变量,函数和表达式等。 布尔值基本上是整数类型。 布尔类型变量有两个预定义的可能值True和False 。 解析为布尔值的表达式也可以分配给布尔类型。 Free Pascal还支持ByteBool , WordBool和LongBool类型。 它们分别是Byte,Word或Longint类型。 值False等于

  • 问题内容: 我们将Findbugs配置为通过Maven在我们的Jenkins上运行。 除其他外,它在以下代码行上抱怨SE_BAD_FIELD: 此错误的说明说 Se:可序列化类(SE_BAD_FIELD)中的非瞬态不可序列化实例字段 该Serializable类定义了一个非基本实例字段,该实例字段既不是临时的,Serializable的也不是java.lang.Object,并且似乎没有实现Ext