Généricité limité à 2 types

Généricité limité à 2 types - Java - Programmation

Marsh Posté le 13-04-2009 à 08:22:26    

Bonjour,
 
J'aimerais savoir si c'est possible de faire une classe générique limité à 2 types.
 
En fait mon but serait que la généréricité de ma classe soit limité aux types (int et double) uniquement, car le problème là c'est que ma méthode tirage ne peux pas fonctionner à cause de cette généricité justement.
 

Code :
  1. public int tirage(T minIntervalle, T maxIntervalle) {
  2.  this.nbreAlea=new Double(maxIntervalle*Math.random()+minIntervalle);
  3.    return nbreAlea.intValue();


 
j'aimerai faire en sorte que quelque soit le type de l'intervalle (int ou double) ma méthode me retourne un nombre entier aléatoire (compris entre cette intervalle), le soucis c'est que le calcul ne peut pas s'effectuer justement à cause de la généricité de minIntervalle et maxIntervalle.
 
Au niveau de la déclaration de ma classe ça donne ça:

Code :
  1. public class Alea<T> {
  2. //variables
  3. private T nbreAlea;
  4. private T minIntervalle;
  5. private T maxIntervalle;
  6.           ...
  7. }


 
Ca fais + d'un an que j'ai pas touché au java et là j'essaye de me remettre dans le bain et je m'y perd
 
Edit (piaf):
Je manque cruellement d'imagination je cherche donc des sites avec quelques sujets de projets (plus ou moins ambitieux) à développer.


Message édité par manux69 le 13-04-2009 à 09:00:19

---------------
Moi, j'ai baisé une femme... Je lui ai filé un rancard, et je n'y suis pas allé !     Coluche.
Reply

Marsh Posté le 13-04-2009 à 08:22:26   

Reply

Marsh Posté le 13-04-2009 à 17:31:02    

Je me suis mal exprimé ou c'est impossible ou peut être idiot ce que je demande pour pas que j'ai de réponse ? :'(


---------------
Moi, j'ai baisé une femme... Je lui ai filé un rancard, et je n'y suis pas allé !     Coluche.
Reply

Marsh Posté le 13-04-2009 à 17:37:56    

J'ai pas tout compris en détail, mais tu ptêtre simplement utiliser la superclasse Number :

Code :
  1. public int tirage(Number minIntervalle, Number maxIntervalle) {
  2. /* ... */
  3. }


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 13-04-2009 à 17:40:49    

et en prime la notation super lol  
 
<T extends Number>


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 14-04-2009 à 04:23:06    

kadreg a écrit :

et en prime la notation super lol  
<T extends Number>


C'est faisable ça ?? :ouch:  
On en apprend tous les jours des trucs bien !


---------------
Site de rencontre
Reply

Marsh Posté le 14-04-2009 à 08:05:33    

avec la notation <T extends Numbers> le template sera limité aux classes fille de Number et donc Double et Interger, c'est ça ou je dis des connerie ?


---------------
Moi, j'ai baisé une femme... Je lui ai filé un rancard, et je n'y suis pas allé !     Coluche.
Reply

Marsh Posté le 14-04-2009 à 08:38:10    

manux69 a écrit :

avec la notation <T extends Numbers> le template sera limité aux classes fille de Number et donc Double et Interger, c'est ça ou je dis des connerie ?


Ben, c'est ce que je comprends, de toute façon on peut pas comprendre autre chose.
Est-ce que tu as les moyens matériels de tester ça rapidement ?


---------------
Site de rencontre
Reply

Marsh Posté le 14-04-2009 à 09:09:34    

manux69 a écrit :

avec la notation <T extends Numbers> le template sera limité aux classes fille de Number et donc Double et Interger, c'est ça ou je dis des connerie ?


 
Oui c'est bien ça (tu aura aussi le droit à la classe Number, pas que ses filles).
 
Après faut voir si c'est bien utile de faire un template pour ça, tu peut tout aussi bien faire une classe avec que des variables de types Number, t'aura essentiellement le même effet. En tout cas à l'intérieur de la classe ce sera pareil, la seule différence c'est si tu fais sortir et rerentrer des valeurs.


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 14-04-2009 à 09:58:33    

C'est parfait, c'est ce que je cherchais.
 
Merci tout le monde, jamais déçu par les forums de HFR :D


---------------
Moi, j'ai baisé une femme... Je lui ai filé un rancard, et je n'y suis pas allé !     Coluche.
Reply

Sujets relatifs:

Leave a Replay

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