界: Code Quality
コードの質が低いと、予測できない動作につながります。ユーザーの視点には、それがしばしば使い勝手の悪さとなって現れます。攻撃者にとっては、予期せぬ方法でシステムにストレスを与える機会となります。
Code Correctness: Incorrect serialPersistentFields Modifier
Abstract
serialPersistentFields
を正しく使用するには、private
、static
、および final
として宣言する必要があります。Explanation
Java Object Serialization Specification により、開発者は、
例 1: 次の宣言では、
serialPersistentFields
配列内で指定して、クラスの Serializable フィールドを手動で定義できるようになります。この機能は、serialPersistentFields
が private
、static
、および final
として宣言されている場合にのみ奏功します。例 1: 次の宣言では、
serialPersistentFields
が、private
、static
、および final
ではないため、Serializable
フィールドの定義には使用されません。
class List implements Serializable {
public ObjectStreamField[] serialPersistentFields = { new ObjectStreamField("myField", List.class) };
...
}
References
desc.structural.java.code_correctness_incorrect_serialpersistentfields_modifier