Bonjour,

Je travaille sur du code Java existant, et je m'interroge sur la pertinence de la constante suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
public class Constantes {
    public static final String EMPTY_STRING = "";
}
Est-ce bien nécessaire, sachant que les String sont "immutables" d'avoir ce genre de constante ? Le compilo ne référence-t'il pas une chaîne unique pour chaque "" trouvé dans le code ?

Par ailleurs, dans chaque classe utilisant cette constante on trouve:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
public class UneClasse {
    private static final String EMPTY_STRING = Constantes.EMPTY_STRING;
}
Je ne vois pas l'intérêt, à part marquer juste EMPTY_STRING au lieu de Constantes.EMPTY_STRING ensuite dans le code...

Ce genre de schéma est reproduit pour toute une série de constantes chaînes. Le caractère immutable des String et le qualificateur "final" ne provoquent-ils pas une recopie de la chaîne dans chaque classe ?

Merci pour votre avis.

Philippe.