[JAVA] À propos de Serializable et serialVersionUID

Serializable

SerialVersionUID

@SuppressWarnings("serial")

Échantillon avec avertissement

Person.java


package sample;

import java.io.Serializable;

public class Person implements Serializable {
	public String name;

	public SerializablePerson(String name) {
		this.name = name;
	}
}

Si vous compilez avec l'option (pour donner tous les avertissements)

javac -Xlint SerializablePerson.java

Je reçois un avertissement (Il peut ne pas s'afficher sur Eclipse en fonction des paramètres (Préférences-> Java-> Compilateur-> Erreur / Avertissement))

Japonais


Serializable.java:5:avertissement: [serial]SerialVersionUID n'est pas défini dans la classe sérialisable Serializable

Anglais (probablement)


The serializable class Mutter does not declare a static final serialVersionUID field of type long

Il n'apparaît pas lorsqu'il est exécuté avec une annotation.

Person.java


package sample;

import java.io.Serializable;

@SuppressWarnings("serial")
public class Person implements Serializable {
	public String name;

	public SerializablePerson(String name) {
		this.name = name;
	}
}

référence

Ce que je sais sur la spécification ésotérique Serializable, ou ma compréhension de Add Star L'histoire de la responsabilité de l'héritage a été très utile

Recommended Posts

À propos de Serializable et serialVersionUID
À propos de Bean et DI
À propos des classes et des instances
À propos de gets et gets.chomp
À propos de la redirection et du transfert
À propos de l'encapsulation et de l'héritage
À propos de l'instruction et de l'instruction if
À propos du verrouillage synchronisé et réentrant
À propos des hachages et symboles Ruby
[Java] À propos de String et StringBuilder
À propos des classes et des instances (évolution)
À propos de la méthode Pluck et de la méthode ID
Prise en compte des classes et des instances
À propos du package Java et de l'importation
À propos de Ruby, modèle objet
À propos des classes et des instances Ruby
À propos des variables d'instance et attr_ *
À propos des méthodes Java statiques et non statiques
À propos de Biocontainers fastqc et Java
En savoir plus sur les gemmes et les bundlers
À propos des méthodes equals () et hashcode ()
À propos des guillemets simples et doubles Ruby
À propos de la phase de paramétrage et de la phase d'exécution de Gradle
À propos de l'opérateur de produit Ruby (&) et de l'opérateur somme (|)
À propos =
Traitement des relevés et des succursales
À propos de l'héritage orienté objet et du rendement Ruby
A propos des types primitifs et des types de référence Java
Considération sur les rails et l'architecture propre
Ceci et cela à propos de Base64 (Java)
À propos de Docker, faux serveur et conteneur
À propos du fonctionnement de next () et nextLine ()
[À propos de JDBC qui connecte Java et SQL]
À propos de la différence entre irb et pry