IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

instancier un static final Vector


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Par défaut instancier un static final Vector
    Bonjour,

    Je possède les 8 tableaux d'entiers suivants
    public static final int[] S1={14,4,13...};
    public static final int[] S2={6,7,2,...};
    ...
    public static final int[] S8={,...};
    Je désirerais créer un Vector ce ceux-ci(ou autre conteneur si pas possible), qui possède les 8 tableaux précédents

    j'ai essayé:

    public static final Vector<int[]> r=new Vector<int[]>(S1,S2,S3...,S8);
    et
    public static final Vector<int[]> r= new Vector<int[]>({S1,S2...S8})
    sans succès.

    Je cherche à atteindre le constructeur Vector(Collection), mais je n'arrive pas à instancier une Collection (normal c'est une interface, mais bon)

    J'ai cherché vers les enum, ...

    La difficulté est que le Vector est final, et donc je ne peux pas utiliser le add()...

    Avez-vous d'autres pistes?
    Suis-je clair?

    Merci

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Citation Envoyé par ericpremier Voir le message
    La difficulté est que le Vector est final, et donc je ne peux pas utiliser le add()...
    C'est faux.

    Le Vector étant final, il ne pourra pas être réaffecté (le code "v = unVecteur;" sera refusé à la compilation).
    En revanche, déclarer un Vector "final" n'empêche absolument pas la modification de son contenu par les méthodes qu'il propose (add, remove, etc.).

    La manière la plus propre d'obtenir ce comportement est de créer une classe "ReadOnlyVector", "wrapper" de la classe Vector, mais ne présentant que des méthodes de consultation.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Par défaut
    Merci.

    Je ne savais pas, j'aurais du tester.

    Donc
    public static final Vector<int[]> S=new Vector<int[]>()
    Et dnas une fonction, on peut bien add.


    Merci CyberChouan

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. private static final String vs inline
    Par Reeter dans le forum Langage
    Réponses: 5
    Dernier message: 29/10/2008, 20h26
  2. static final serialVersionUID
    Par MiXinG dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 22/03/2008, 11h03
  3. Réponses: 6
    Dernier message: 22/11/2007, 19h46
  4. differences static final - private protected
    Par fantomas261 dans le forum Langage
    Réponses: 2
    Dernier message: 27/05/2007, 12h24
  5. Modification d'un attribut static final
    Par n@n¤u dans le forum Langage
    Réponses: 8
    Dernier message: 19/06/2006, 17h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo