Reino: Code Quality
Códigos de baixa qualidade levam a comportamentos imprevisíveis. Da perspectiva do usuário, isso normalmente se manifesta como usabilidade ruim. Para um invasor, trata-se de uma oportunidade para atacar o sistema de formas imprevistas.
Code Correctness: Incorrect serialPersistentFields Modifier
Abstract
Para usar
serialPersistentFields
corretamente, ele deve ser declarado como private
, static
e final
.Explanation
A Especificação de Serialização de Objeto Java permite que os desenvolvedores definam manualmente campos Serializáveis para uma classe especificando-os na matriz
Exemplo 1: A seguinte declaração de
serialPersistentFields
. Esse recurso somente funcionará se serialPersistentFields
for declarado como private
, static
e final
.Exemplo 1: A seguinte declaração de
serialPersistentFields
não será usada para definir campos Serializable
porque não é private
, static
e final
.
class List implements Serializable {
public ObjectStreamField[] serialPersistentFields = { new ObjectStreamField("myField", List.class) };
...
}
References
desc.structural.java.code_correctness_incorrect_serialpersistentfields_modifier