Les Allergies
Alimentaires
Posez votre question Signaler

[Java] serialVersionUID [Résolu]

KX 3672Messages postés 31 mai 2008Date d'inscription 30 mai 2012Dernière intervention - Dernière réponse le 15 nov. 2009 à 00:19
Bonjour,
J'ai un gros projet en Java, et quand je le compile ça me met juste 1 warning, mais j'arrive pas à comprendre à quoi il correspond, d'autant que ma classe est vraiment très simple :
package projet;

import java.util.LinkedList;

public class SyntaxeListe extends LinkedList<Syntaxe>
{
	public String toString()
	{
		String s=new String("\nSyntaxeListe:");
		for (int i=0; i<size(); i++)
			s=s+"\n"+get(i).toString();
		return s+"\n\n";
	}
}

Et voici le résultat de ma commande :
C:\java>javac -Xlint projet\*.java
projet\SyntaxeListe.java:5:warning: [serial] serializable class projet.SyntaxeListe has no definition of SerialVersionUID
public class SyntaxeListe extends LinkedListe<Syntaxe>
       ^
Si quelqu'un pouvait m'expliquer ce qui se passe et comment corriger le code, merci d'avance
Lire la suite 

[Java] serialVersionUID »

Suggestions
3 réponses
Réponse
+2
moins plus
Salut,

Ce n'est pas grand-chose... Si pas de SUID défini, la machine virtuelle en génère un automatiquement à l'exécution. Si tu veux te débarrasser de cet avertissement, rajoute cette ligne à ta classe:

private static final long serialVersionUID = 1L;

++
Ajouter un commentaire
Réponse
+1
moins plus
L'avertissement apparaîtra pour toutes les classes implémentant Serializable. Ta classe étend LinkedList qui est définie de cette manière:

public class java.util.LinkedList extends java.util.AbstractSequentialList implements java.util.List, java.util.Deque, java.lang.Cloneable, java.io.Serializable


Explication sommaire du machin ici: http://java.developpez.com/faq/java/?page=warnings#WARNING_serial


++
Ajouter un commentaire
Réponse
+0
moins plus
Ça marche merci, mais comment expliquer que cet avertissement apparaisse pour cette classe et pas pour les autres, alors que je n'avais jamais précisé serialVersionUID auparavant ?
Ajouter un commentaire
Ce document intitulé « [Java] serialVersionUID » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?