[Java] méthodes génériques

méthodes génériques [Java] - Java - Programmation

Marsh Posté le 24-03-2005 à 10:17:22    

Bonjour,
 
Je débute dans les generics java et j'ai un petit problème :  
J'ai 4 classes A,B,C et D qui héritent de XXX et je dois écrire une classe générique recroupant ces 4 classes. Chacune de ces classes utilise respectivement des int, double, boolean et byte.
 
J'ai donc crée ma classe générique :
   
    public class GeneClass<T> extends XXX
 
jusque la tout va bien, le probleme vient des méthodes :  
 
J'ai des méthodes de ce type :
pour la classe A :
        public void fill(int x)
 {
       Arrays.fill(tab,x);
 }
 
pour la classe B :
        public void fill(double x)
 {
       Arrays.fill(tab,x);
 }
 
pour la classe C :
        public void fill(boolean x)
 {
       Arrays.fill(tab,x);
 }
 
pour la classe D :
        public void fill(int x)
 {
       Arrays.fill(tab,(byte)x);
 }
Ma fonction générique est donc :
 
  public <T> void fill(T x) {
       Arrays.fill(tab, (T)x);
  }
 
Ca marche pour les 3 1eres classes et pas pour les byte car la méthode de D prends un int et non un byte en paramètres et renvoie un byte.
 
Quelq'un aura une idéé?
merci

Reply

Marsh Posté le 24-03-2005 à 10:17:22   

Reply

Marsh Posté le 24-03-2005 à 11:56:05    

ben euh c'est une question à la con, mais pourquoi la methode fill de D ne prend-elle pas un byte?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 24-03-2005 à 11:59:20    

the real moins moins a écrit :

ben euh c'est une question à la con, mais pourquoi la methode fill de D ne prend-elle pas un byte?


 
C'est pas une question à la con c'est ce que je dois faire :)
C'est des classes qui manipulent des images et je sais pas pourquoi elle prends un int au lieu d'un byte mais à mon grand désespoir c'est comme ca :(

Reply

Marsh Posté le 26-03-2005 à 00:00:00    

j'avais jamais entendu parler de ça [:le kneu]
 
edit: de "number" et "type" hein :o


Message édité par the real moins moins le 26-03-2005 à 00:08:13

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 26-03-2005 à 12:15:05    

J'ai essayé number mais le mot clé n'est pas reconnu! Ca m'aurait simplifier d'ailleurs d'utiliser directement les types primitifs au lieu des classes Byte, Integer etc .... pour la suite. Du coup je fais des casts de partout et biens sur les unchecked warning qui vont avec!
 
De plus eclipse 3.0.2 reconnait pas la syntaxe des generic (<> il connait pas).
 
Et j'ai plein d'erreur bizarre, du genre dans des méthodes génériques de type T
found T
required T  
c'est il pas évident ?
 
Mais bon pour revenir à mon problème, je l'ai contourné et j'utilise le meme type en entrée et en sorite et ca à l'air de marcher.
 

Reply

Marsh Posté le 26-03-2005 à 12:21:05    

pour eclipse passe en 3.1 : c l'apport majeur de cette version, le support 1.5...la M5 supporte intégralement la syntaxe 1.5 maintenant


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 26-03-2005 à 14:38:07    

... qu'idea supporte depuis 1 an et demo [:vague nocturne]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed