>       Bonjour � tous,
>Voil� ce que j'essaye de faire:
>
>Ca c'est mon objet de base:
>
>   private static class TypeInfo
>    {
>     public int ID;
>     public String name;
>     public int groupID;
>    }
>
>Et voil� le tableau (toujours static), que je cherche � cr�er (quelques 
>tentatives de syntaxes sont indiqu�es):
>
>   private static TypeInfo[] types =
>    {
>     {1, "foo", 1}             // ne marche pas...
>     (1, "foo", 1)             // ne marche pas non plus...
>     TypeInfo() {1, "foo", 1}  // idem...
>
>Grr... Quand je pense que c'�tait l'enfance de l'art en C/C++...
>Quelqu'un sait-il comment faire �a en Java ? Je ne veux pas avoir � 
>initialiser ce tableau en passant par un constructeur (c'est un static, 
>je veux pouvoir y acc�der sans instancier la classe qui l'englobe).

Sans passer par un constructeur, c'est impossible. En effet, la notion de struct, 
h�rit�e du C, n'existe aps en Java et est totallement et irr�m�diablement rempalc�e 
par celle de classe.
Ton TypeInfo est une classe, et tu peux lui donner un constructeur. Je ne vois 
d'ailleurs pas le mal qu'il y a � cela, puisque �a te permettra de d�finir dans cette 
classe des traitements concernant ces types. Par exemple, surcharger les m�thodes 
e"quals, compareTo pour ordonner des TypeInfo dans un Set, ce qui sera plus agr�able 
pour retrouver � quel type correspond un objet de ton application, et bien plus rapide 
que le parcours d'un tableau.
En fait, le probl�me est que nous parlons dans des paradigmes diff�rents : tu as un 
paquet de donn�es, sur lesquelles tu veux r�aliser des traitements, alors que j'ai un 
objet, qui dispose de capacit�s de travail, ce qui retourne compl�tement la question.
R�fl�chis bien au contexte dans lequel tu utilises ce TypeInfo, et tu verras qu'il y a 
s�rement des traitements qui peuvent �tre plac�s dans cette classe (r�cup�rer le name 
� partir de ID et/ou groupID,...).
Enfin, si tu veux pouvoir l'instancier or de la classe qui contient cette classe, 
c'est s�rement un indice montrant clairement que la classe TypeInfo m�rite d'�tre � 
aprt (que ce soit dans le m�me fichier ou dans un autre).
>
>       Aur�lien Mazurie

-- 
Nicolas Delsaux
"Rappelez-vous l'essentiel: le capitalisme, c'est l'exploitation de l'homme par 
l'homme. Le syndicalisme, c'est le contraire ! "
Coluche


Répondre à