[Java] Problème avec int et Object vi encore une question de newbie :D

Problème avec int et Object vi encore une question de newbie :D [Java] - Programmation

Marsh Posté le 21-03-2002 à 10:45:52    

Salut,
 
voilà je voudrais créer une classe dans laquelle j'aurais une matrice à 2 dimensions qui pourrait contenir tout et n'importe quoi. J'ai donc penser à faire une matrice d'Object seulement on peut po mettre de int ou de float dedans.
 
Existe-t-il une solution autre que de passer par les classes Integer ou Float ? :??:


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
Reply

Marsh Posté le 21-03-2002 à 10:45:52   

Reply

Marsh Posté le 21-03-2002 à 11:05:06    

non, puisque int et float sont des types primitifs et non des Object.
 
-> passer par Integer et Float c'est obligatoire. (ce sont des classes "enveloppes" d'après mon book...)


---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
Reply

Marsh Posté le 21-03-2002 à 11:07:16    

si tu veux m'importe quel type d'objet, je ne vois pas comment
 
maintenant rien ne t'empeche de créer ta classe avec des méthodes qui t'évitent d'avoir à gérer les objets Integer, Float ...
 
genre avec un méthode  
add(int n, int i, int j) {
   Integer N = new Integer(n);
   matrice[i][j] = (Object) N;
}
 
comme ca tu gère des int et non des Integer


---------------
Je ne suis ni pour, ni contre, bien au contraire  
Reply

Marsh Posté le 21-03-2002 à 11:12:33    

jupiler a écrit a écrit :

si tu veux m'importe quel type d'objet, je ne vois pas comment
 
maintenant rien ne t'empeche de créer ta classe avec des méthodes qui t'évitent d'avoir à gérer les objets Integer, Float ...
 
genre avec un méthode  
add(int n, int i, int j) {
   Integer N = new Integer(n);
   matrice[i][j] = (Object) N;
}
 
comme ca tu gère des int et non des Integer  




 
En gros va falloir que je fasse ça pour tous les types  :sweat:  
 
Bon je vais essayer de m'arranger pour que ce soit les personnes qui utilise ma classe qui s'amusent à faire les conversions  :D ( :non: je ne suis po un flémmard quoique  :ange: )
 
N'empêche ils auraient pu faire comme en C un void * et ça roulezzzz :D non po tapai
 
Merci à tous les 2 pour vos réponses  :o

 

[jfdsdjhfuetppo]--Message édité par archangel--[/jfdsdjhfuetppo]


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
Reply

Marsh Posté le 21-03-2002 à 11:12:46    

Jupiler a raison. De manière plus générale, lorque tu veux obtenir un comportement qui n'est pas prévu initallement, il faut étendre, affiner le comportement de l'objet
 
Tu peux faire un truc du genre
 

Code :
  1. public class MyVector extends java.util.vector {
  2.     public void add(int i) {
  3.         Integer iWrapped = new Integer(i);
  4.         add(iWrapped);
  5.     }
  6.     // idem pour tes gets si les types sont limité
  7.     public int getElemantAtAsInt(int index) {
  8.     }
  9. }


 
A+

 

[jfdsdjhfuetppo]--Message édité par DarkLord--[/jfdsdjhfuetppo]


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 21-03-2002 à 11:14:54    

DarkLord a écrit a écrit :

Jupiler a raison. De manière plus générale, lorque tu veux obtenir un comportement qui n'est pas prévu initallement, il faut étendre, affiner le comportement de l'objet
 
Tu peux faire un truc du genre
 

Code :
  1. public class MyVector extends java.util.vector {
  2.     public void add(int i) {
  3.         Integer iWrapped = new Integer(i);
  4.         add(iWrapped);
  5.     }
  6.     // idem pour tes gets si les types sont limité
  7.     public int getElemantAtAsInt(int index) {
  8.     }
  9. }


 
A+  
 
 




 
yes mais po envie de faire ça pour tous les types  :sleep:


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
Reply

Marsh Posté le 21-03-2002 à 11:17:00    

archangel a écrit a écrit :

 
 
yes mais po envie de faire ça pour tous les types  :sleep:  




 
bin faut ce qui faut mon grand. Si tu veux pouvoir stocker n'importe quel type d'objet, il faut t'attendre à devoir gérer le retour lorsque tu veux les récupérer.
 
 :lol: quelle bande de fainéasse c'est pas vrai !


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 21-03-2002 à 11:18:43    

archangel a écrit a écrit :

 
 
yes mais po envie de faire ça pour tous les types  :sleep:  




 
et puis quel est l'intérêt d'une matrice avec n'importe quel type d'objet ?


---------------
Je ne suis ni pour, ni contre, bien au contraire  
Reply

Marsh Posté le 21-03-2002 à 11:22:11    

vive smalltalk ou tout est objet :)
 
Ceci me donne envie de me repencher sur skweak (plus sur de l'orthographe) c'est vraiment trop puissant... et en plus c'est fait pour rever.

Reply

Marsh Posté le 21-03-2002 à 11:22:41    

jupiler a écrit a écrit :

 
 
et puis quel est l'intérêt d'une matrice avec n'importe quel type d'objet ?  




 
probablement pas pour des raisons de généricité mais plutot pour taper n'importe quoi n'importe comment sans se tracasser.
 
Mais après la JVM doit régler toute seule le bordel, c'est logique non  :sarcastic:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 21-03-2002 à 11:22:41   

Reply

Marsh Posté le 21-03-2002 à 11:29:40    

DarkLord a écrit a écrit :

 
 
probablement pas pour des raisons de généricité mais plutot pour taper n'importe quoi n'importe comment sans se tracasser.
 
Mais après la JVM doit régler toute seule le bordel, c'est logique non  :sarcastic:  




 
Oui voilà en gros c'est ça l'idée
 
Mais sinon en fait je dois encapsuler le tableau HTML avec un tag personnalisé (voir la Tag Libraries de sun) Ors dans ce tableau tu auras la plupart du temps des chiffres(int float etc...) mais aussi des Object plus complexes tel qu'une classe client par exemple voili voilou
 
Mais vous inquietez po plus de prob now


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
Reply

Marsh Posté le 21-03-2002 à 11:34:47    

archangel a écrit a écrit :

 
 
Oui voilà en gros c'est ça l'idée
 
Mais sinon en fait je dois encapsuler le tableau HTML avec un tag personnalisé (voir la Tag Libraries de sun) Ors dans ce tableau tu auras la plupart du temps des chiffres(int float etc...) mais aussi des Object plus complexes tel qu'une classe client par exemple voili voilou
 
Mais vous inquietez po plus de prob now  




 
Tu as des problèmes, à mon sens, parce que tu essaies de résoudre ton problème avec un objet trop générique. Si tu utilisais un ensemble d'objet plus ciblé sur ton problème tu t'en sortirais mieux et ce serait plus propre.
 
La plupart des questions un peu bizarre, comme la tienne, provienne du fait que la personne utilise les mauvais objets pour résoudre son problème.


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 21-03-2002 à 11:40:34    

DarkLord a écrit a écrit :

 
 
Tu as des problèmes, à mon sens, parce que tu essaies de résoudre ton problème avec un objet trop générique. Si tu utilisais un ensemble d'objet plus ciblé sur ton problème tu t'en sortirais mieux et ce serait plus propre.
 
La plupart des questions un peu bizarre, comme la tienne, provienne du fait que la personne utilise les mauvais objets pour résoudre son problème.  




 
Dans ce cas, on va dire que je cible sur Object :O .
 
OK je sors les 2 pieds devant  :sweat:  
 
Sinon la gestions des int, floats, etc... c'était juste un plus que je voulais offrir mais bon on va dire que jusqu'à midi au moins ils s'en passeront, j'ai un prob de colonne caché plus urgent à résoudre, parfois ils ont vraiment des besoins bizarres  :crazy:


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
Reply

Marsh Posté le 21-03-2002 à 11:41:07    

:bounce: Vive le C++ et ses templates ! :bounce:

 

[jfdsdjhfuetppo]--Message édité par El_Gringo--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 21-03-2002 à 11:47:36    

Kahyman a écrit a écrit :

vive smalltalk ou tout est objet :)
 
Ceci me donne envie de me repencher sur skweak (plus sur de l'orthographe) c'est vraiment trop puissant... et en plus c'est fait pour rever.  




 
YESSSSSSSS  :sol:


---------------
"Si ça peut déconner, ça va déconner..."
Reply

Marsh Posté le 21-03-2002 à 11:50:00    

El_Gringo a écrit a écrit :

:bounce: Vive le C++ et ses templates ! :bounce:  
 
 




 
 :non: Java c'est bien aussi.
 
En fait y a pas de meilleur langage, y a juste des langages qui sont plus adaptés à ce que l'on veut faire  :o

 

[jfdsdjhfuetppo]--Message édité par archangel--[/jfdsdjhfuetppo]


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
Reply

Marsh Posté le 21-03-2002 à 11:54:09    

disons que c'est une question de compromis. Les templates C++ sont peut etre bien mais là ou un programmeur C++ va s'arracher les cheveux pour le meme problème, le programmeur Java aura des solutions intuitives et puissantes pour cette partie là.


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 21-03-2002 à 11:59:20    

DarkLord a écrit a écrit :

disons que c'est une question de compromis. Les templates C++ sont peut etre bien mais là ou un programmeur C++ va s'arracher les cheveux pour le meme problème, le programmeur Java aura des solutions intuitives et puissantes pour cette partie là.  




 
Qui veut faire un site internet avec moi en C++  :D  
 
c comme si j'étais déjà sorti  :sweat:


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
Reply

Marsh Posté le 25-03-2002 à 17:01:27    

DarkLord a écrit a écrit :

disons que c'est une question de compromis. Les templates C++ sont peut etre bien mais là ou un programmeur C++ va s'arracher les cheveux pour le meme problème, le programmeur Java aura des solutions intuitives et puissantes pour cette partie là.  




 
Bah, pas dans tous les cas. Y a certain cas ou le Java est surement + pratique que le C++, et dans d'autres c le contraire. D'ou la cohéxistance des 2 languages.
Et voila, comme ça, tt le monde est content :D

Reply

Sujets relatifs:

Leave a Replay

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