Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1349 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5
Auteur Sujet :

hashCode, qui s'en sert ?

n°181200
Cherrytree
cn=?
Posté le 24-07-2002 à 00:14:09  profilanswer
 

Reprise du message précédent :

benou a écrit a écrit :

 
c'est un truc auxquel je pensais depuis un moment ...
 
que pensais vous d'un site HTML tout bête dans lequel on listerai les meilleurs "trucs" pour le JAva qui ont été écrit sur ce forum ?
 
faudrait mettre ca sur un hebergeur gratuit pour que ce soit disponible tout le temps (ce serait plus pratique que sur la machine à quelqu'un ...



D'accord. Si je peux contribuer pour quoi que ce soit, j'en suis.


---------------
Le site de ma maman
mood
Publicité
Posté le 24-07-2002 à 00:14:09  profilanswer
 

n°181201
--greg--
Posté le 24-07-2002 à 00:16:41  profilanswer
 

benou a écrit a écrit :

 
c'est un truc auxquel je pensais depuis un moment ...
 
que pensais vous d'un site HTML tout bête dans lequel on listerai les meilleurs "trucs" pour le JAva qui ont été écrit sur ce forum ?
 
faudrait mettre ca sur un hebergeur gratuit pour que ce soit disponible tout le temps (ce serait plus pratique que sur la machine à quelqu'un ...



bah les pages html toutes betes, c bien un temps mais apres 4 pages moi ça me saoule pour mettre a jour
cela dit du bete php avec 2 includes ça serait deja bien :)

n°181202
benou
Posté le 24-07-2002 à 00:21:46  profilanswer
 

comme tu veux, mais moi j'y connais rien en PHP. Tu t'y colles ?

n°181203
benou
Posté le 24-07-2002 à 00:22:07  profilanswer
 

benou a écrit a écrit :

comme tu veux, mais moi j'y connais rien en PHP. Tu t'y colles ?




bon, j'avais dit que j'allais me coucher moi :o

n°181205
Cherrytree
cn=?
Posté le 24-07-2002 à 00:27:52  profilanswer
 

Tout dépend aussi du nombre d'article qu'on sera amené à publier dessus. S'il n'y en a qu'une dizaine (probable, quoique...), le site sera plus lourd à écrire que si on le faisait en bête HTML. Pour le graphisme du site potentiel, je peux faire un petit qqch, dès que j'ai le feu vert. Et si personne ne tient à faire cela.


---------------
Le site de ma maman
n°181215
--greg--
Posté le 24-07-2002 à 00:39:06  profilanswer
 

benou a écrit a écrit :

comme tu veux, mais moi j'y connais rien en PHP. Tu t'y colles ?



ben si tu sais faire de l'html, faire des incloudes en php c'est con à mourrir :
<? include file='header.inc.php' ?>
par exemple
et voila :)
 
comme dit, je veux bien m'y coller, mais pas dans l'immédiat immédiat
qques autres projets à terminer avant ça :) (hein dark...)

n°181216
--greg--
Posté le 24-07-2002 à 00:40:02  profilanswer
 

Cherrytree a écrit a écrit :

Tout dépend aussi du nombre d'article qu'on sera amené à publier dessus. S'il n'y en a qu'une dizaine (probable, quoique...), le site sera plus lourd à écrire que si on le faisait en bête HTML. Pour le graphisme du site potentiel, je peux faire un petit qqch, dès que j'ai le feu vert. Et si personne ne tient à faire cela.



en ce qui me concerne tu l'as le feu vert, le graphisme ça m'arrange tjs quand c'est fait par qqun d'autre, vu que je suis rarement inspiré (meme si ça me frustre)

n°181218
Cherrytree
cn=?
Posté le 24-07-2002 à 00:49:39  profilanswer
 

--greg-- a écrit a écrit :

en ce qui me concerne tu l'as le feu vert, le graphisme ça m'arrange tjs quand c'est fait par qqun d'autre, vu que je suis rarement inspiré (meme si ça me frustre)



Je suis pas super fort là dessus non plus, mais je me force à être créatif (family powaa). Donc, je veux bien. Je commence le design de Java@Hardware.fr cette semaine.


---------------
Le site de ma maman
n°181219
--greg--
Posté le 24-07-2002 à 01:09:47  profilanswer
 

Cherrytree a écrit a écrit :

Je suis pas super fort là dessus non plus, mais je me force à être créatif (family powaa). Donc, je veux bien. Je commence le design de Java@Hardware.fr cette semaine.



cool

n°181291
darklord
You're welcome
Posté le 24-07-2002 à 10:15:29  profilanswer
 

--greg-- a écrit a écrit :

 
en fait on devrait tenir à jour un site séparé avec la faq et ce genre de topic, revu & corrigé (c-a-d nettoyé quoi), ça serait plus pratique.
je suis partant pour m'en occuper à temps partiel, mais bon, j'entend déjà d'ici les railleries (justifiées) concernant le trombi :D




 
j'y pensais figure toi a faire un site de ce genre ....


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le 24-07-2002 à 10:15:29  profilanswer
 

n°181296
El_gringo
Posté le 24-07-2002 à 10:18:19  profilanswer
 

Mais y a un truc que je saisi pas bien du coté de equals...
2 références sont équals si elle pointent sur la même instance, ou si elle pointent sur des instances dont tous les attributs sont ont les mêmes valeurs !?
j'm'explique.
Si je surcharge pas equals:

Code :
  1. MonObjet ob1 = new MonObjet ("Jojo" );
  2. MonObjet ob2 = ob1;
  3. MonObjet ob3 = new MonObjet ("Jojo" );
  4. boolean equalsByRefs = ob1.equals (ob2);
  5. boolean equalsByAttribs = ob1.equals (ob3);


là, equalsByRefs est "true", et equalsByAttribs est "false", c ça ?

n°181306
darklord
You're welcome
Posté le 24-07-2002 à 10:24:12  profilanswer
 

oui


---------------
Just because you feel good does not make you right
n°181315
--greg--
Posté le 24-07-2002 à 10:29:21  profilanswer
 

el_gringo a écrit a écrit :

Mais y a un truc que je saisi pas bien du coté de equals...
2 références sont équals si elle pointent sur la même instance, ou si elle pointent sur des instances dont tous les attributs sont ont les mêmes valeurs !?
j'm'explique.
Si je surcharge pas equals:

Code :
  1. MonObjet ob1 = new MonObjet ("Jojo" );
  2. MonObjet ob2 = ob1;
  3. MonObjet ob3 = new MonObjet ("Jojo" );
  4. boolean equalsByRefs = ob1.equals (ob2);
  5. boolean equalsByAttribs = ob1.equals (ob3);


là, equalsByRefs est "true", et equalsByAttribs est "false", c ça ?
 



comme dit darklord, oui. sauf si tu surcharges la methode equals justement, pour qu'elle ne fasse que comparer les attributs. (par exemple new String("Jojo" ).equals(new String("Jojo" )) est true)

n°181367
El_gringo
Posté le 24-07-2002 à 10:50:51  profilanswer
 

--greg-- a écrit a écrit :

comme dit darklord, oui. sauf si tu surcharges la methode equals justement, pour qu'elle ne fasse que comparer les attributs. (par exemple new String("Jojo" ).equals(new String("Jojo" )) est true)




 
...ok !
très bien, très bien.
Je comprend.
Meric pr cette patite précision !

n°181380
benou
Posté le 24-07-2002 à 10:53:41  profilanswer
 

une remarque en passant :  
il faut se méfier du equals et du == sur les String.
 
le == ne se comporte pas avec les Strign comme avec les autres Objets car la JVM gère un cache de String (pour des raisons d'optimisation). Du coup à moins qu'on ait spécifiquement demandé la création d'une nouvelle String (avec le constructeur), deux String construites différements pourront en faite être la même instance :
 

Code :
  1. public class Test {
  2.    public static void main (String[] args) {
  3.       {
  4.  String s1 = new String("coucou" );
  5.  String s2 = new String("coucou" );
  6.  System.out.println("equals ? : " + s1.equals(s2)); // true (normal)
  7.  System.out.println("    == ? : " + (s1 == s2));    // false (normal)
  8.       }
  9.       {
  10.  String s1 = new String(new char[]{'c', 'o', 'u', 'c', 'o', 'u'});
  11.  String s2 = new String(new char[]{'c', 'o', 'u', 'c', 'o', 'u'});
  12.  System.out.println("equals ? : " + s1.equals(s2)); // true (normal)
  13.  System.out.println("    == ? : " + (s1 == s2));    // false (normal)
  14.       }
  15.       {
  16.  String s1 = "coucou";
  17.  String s2 = "coucou";
  18.  System.out.println("equals ? : " + s1.equals(s2)); // true (normal)
  19.  System.out.println("    == ? : " + (s1 == s2));    // true (bizarre)
  20.       }
  21.       {
  22.  String s1 = "coucou";
  23.  String s2 = "" + 'c' + 'o' + 'u' + "cou";
  24.  System.out.println("equals ? : " + s1.equals(s2)); // true (normal)
  25.  System.out.println("    == ? : " + (s1 == s2));    // true (bizarre)
  26.       }
  27.    }
  28.  
  29. }

n°181395
--greg--
Posté le 24-07-2002 à 11:01:25  profilanswer
 

benou a écrit a écrit :

une remarque en passant :  
il faut se méfier du equals et du == sur les String.
 
le == ne se comporte pas avec les Strign comme avec les autres Objets car la JVM gère un cache de String (pour des raisons d'optimisation). Du coup à moins qu'on ait spécifiquement demandé la création d'une nouvelle String (avec le constructeur), deux String construites différements pourront en faite être la même instance :
 

Code :
  1. public class Test {
  2. [...] 
  3. }






duh ! [:grisemine1]  
je relirai ça un jour ou j'aurai toute ma tête, mais  :ouch:  
 
benou encore une fois -> :jap:  
 
(qd j'ai vu ton message apres le mien j'ai cru que j'allais me faire flamer parce que j'avais raconté n'importe quoi, j'ai eu peur  [:fear] :D)

n°181400
Cherrytree
cn=?
Posté le 24-07-2002 à 11:03:16  profilanswer
 

LE TOPIC DE TONTON BENOU ! YAISSE !


---------------
Le site de ma maman
n°181402
benou
Posté le 24-07-2002 à 11:03:46  profilanswer
 

--greg-- a écrit a écrit :

 
duh ! [:grisemine1]



 
ouais je comprend ... vu comme ca c'est assze illisible ...
fait un copier/coller dans ton éditeur préféré et exécute, ta vas capter tout de suite ! ;)

n°181405
benou
Posté le 24-07-2002 à 11:04:57  profilanswer
 

Cherrytree a écrit a écrit :

LE TOPIC DE TONTON BENOU ! YAISSE !




:D  

n°181410
El_gringo
Posté le 24-07-2002 à 11:07:30  profilanswer
 

benou a écrit a écrit :

une remarque en passant :  
il faut se méfier du equals et du == sur les String.
 
le == ne se comporte pas avec les Strign comme avec les autres Objets car la JVM gère un cache de String (pour des raisons d'optimisation). Du coup à moins qu'on ait spécifiquement demandé la création d'une nouvelle String (avec le constructeur), deux String construites différements pourront en faite être la même instance :
 

Code :
  1. public class Test {
  2.    public static void main (String[] args) {
  3.       {
  4.  String s1 = new String("coucou" );
  5.  String s2 = new String("coucou" );
  6.  System.out.println("equals ? : " + s1.equals(s2)); // true (normal)
  7.  System.out.println("    == ? : " + (s1 == s2));    // false (normal)
  8.       }
  9.       {
  10.  String s1 = new String(new char[]{'c', 'o', 'u', 'c', 'o', 'u'});
  11.  String s2 = new String(new char[]{'c', 'o', 'u', 'c', 'o', 'u'});
  12.  System.out.println("equals ? : " + s1.equals(s2)); // true (normal)
  13.  System.out.println("    == ? : " + (s1 == s2));    // false (normal)
  14.       }
  15.       {
  16.  String s1 = "coucou";
  17.  String s2 = "coucou";
  18.  System.out.println("equals ? : " + s1.equals(s2)); // true (normal)
  19.  System.out.println("    == ? : " + (s1 == s2));    // true (bizarre)
  20.       }
  21.       {
  22.  String s1 = "coucou";
  23.  String s2 = "" + 'c' + 'o' + 'u' + "cou";
  24.  System.out.println("equals ? : " + s1.equals(s2)); // true (normal)
  25.  System.out.println("    == ? : " + (s1 == s2));    // true (bizarre)
  26.       }
  27.    }
  28.  
  29. }






 
Parce qu'en fait, le == , c'est comme le equals de la classe Object, ms insurchargeable, c ça !?

n°181417
--greg--
Posté le 24-07-2002 à 11:12:15  profilanswer
 

benou a écrit a écrit :

 
 
ouais je comprend ... vu comme ca c'est assze illisible ...
fait un copier/coller dans ton éditeur préféré et exécute, ta vas capter tout de suite ! ;)



ha non mais c pas ça le pb, le pb c que je comprend pas PQ ça renvoit true quand ça "devrait pas"

n°181440
benou
Posté le 24-07-2002 à 11:33:29  profilanswer
 

--greg-- a écrit a écrit :

ha non mais c pas ça le pb, le pb c que je comprend pas PQ ça renvoit true quand ça "devrait pas"




 
attend, tonton benou va t'expliquer : [:tonton_benou]
 
c'est parce que la classe String gère un cache d'objet : par exemple, si à deux endroit dans ton programme il y a écrit en dur la chaine "toto", et bien elle en mémoire à l'execution, elle ne va créé qu'une seule instance de la classe String et utiliser cette instance aux 2 endroits.
 
On ne s'en rend pas compte parce que la classe est immuable (ne peut changer d'état) => tant que tu ne vérifie pas les référence, tu poourrais croire que c'est deux chaines différentes.
 
et c'est pareil quand tu concatène des chaines :
 
si tu fais "to" + "to", la JVM va se rendre compte que la String résultante existe déjà et va utiliser l'instance du cache plutot que d'en créer une autre


Message édité par benou le 24-07-2002 à 14:35:25
n°181446
--greg--
Posté le 24-07-2002 à 11:35:49  profilanswer
 

benou a écrit a écrit :

 
 
attend, tonton benou va t'expliquer : [:benou]
 
c'est parce que la classe String gère un cache d'objet : par exemple, si à deux endroit dans ton programme il y a écrit en dur la chaine "toto", et bien elle en mémoire à l'execution, elle ne va créé qu'une seule instance de la classe String et utiliser cette instance aux 2 endroits.
 
On ne s'en rend pas compte parce que la classe est immuable (ne peut changer d'état) => tant que tu ne vérifie pas les référence, tu poourrais croire que c'est deux chaines différentes.
 
et c'est pareil quand tu concatène des chaines :
 
si tu fais "to" + "to", la JVM va se rendre compte que la String résultante existe déjà et va utiliser l'instance du cache plutot que d'en créer une autre




okie
donc quand on fait

String blah = "blah";


ce n'est pas TOUT A FAIT un "raccourci"(syntactic sugar), ce que je croyais,  de  

String blah = new String("blah" );


he beh

n°181462
benou
Posté le 24-07-2002 à 11:47:16  profilanswer
 

--greg-- a écrit a écrit :

 
okie
donc quand on fait

String blah = "blah";


ce n'est pas TOUT A FAIT un "raccourci"(syntactic sugar), ce que je croyais,  de  

String blah = new String("blah" );


he beh




c'est ca !  
dans le 2e cas, tu créés réellement une nouvelle instance de String.
 
Remarque c'est obligé : à chaque new, il y a une allocation mémoire : tu ne peut pas faire qu'un new "retourne" une instance déjà existante ... Quand tu es dans le constructeur, tu es déjà dans la nouvelle instance => il aurait fallu qu'ils fassent une entorce au fonctionnement classique de Java si ils avaient fait ca.

n°181568
chapi456
Posté le 24-07-2002 à 13:33:55  profilanswer
 

eh les gars, c'est fini de balancer des fleurs a ce vieux-benou.
Faut pas avoir peur de lui, ni même le vénérer ...  
D'ailleurs, c'est moi qui lui ait tout appris ! :sol:  :sol:

n°181583
--greg--
Posté le 24-07-2002 à 13:50:57  profilanswer
 

:lol:

n°181605
El_gringo
Posté le 24-07-2002 à 14:15:27  profilanswer
 

el_gringo a écrit a écrit :

 
 
Parce qu'en fait, le == , c'est comme le equals de la classe Object, ms insurchargeable, c ça !?




 
apparement, personne a calculé ma question, alors la revoila (juste au dessus !)

n°181606
benou
Posté le 24-07-2002 à 14:15:27  profilanswer
 

chapi456 a écrit a écrit :

eh les gars, c'est fini de balancer des fleurs a ce vieux-benou.
Faut pas avoir peur de lui, ni même le vénérer ...  
D'ailleurs, c'est moi qui lui ait tout appris ! :sol:  :sol:  




pfff ! c'est qui s'est tappé le projet de Java de fin d'année ???
Binome indigne !

n°181608
Cherrytree
cn=?
Posté le 24-07-2002 à 14:16:43  profilanswer
 

el_gringo a écrit a écrit :

 
 
apparement, personne a calculé ma question, alors la revoila (juste au dessus !)



Si on veut (c'est ma réponse à ta question).


Message édité par Cherrytree le 24-07-2002 à 14:17:05

---------------
Le site de ma maman
n°181609
benou
Posté le 24-07-2002 à 14:16:59  profilanswer
 

el_gringo a écrit a écrit :

 
 
apparement, personne a calculé ma question, alors la revoila (juste au dessus !)




ben disons plutot que le == compare les références et que l'implémentation du equals de Object c'est :

Code :
  1. public boolean equals (Object other) {
  2.    return this == other;
  3. }

n°181887
chapi456
Posté le 24-07-2002 à 17:11:03  profilanswer
 

benou a écrit a écrit :

 
pfff ! c'est qui s'est tappé le projet de Java de fin d'année ???
Binome indigne !




Ben c'est Seby pkoi ...
Attention, vous etes en face d'un gros pipoteur ... bientot il va dire qu'il se levait a 8h et se couchait a 4h du mat pour le projet ...
 :bounce:

n°181897
--greg--
Posté le 24-07-2002 à 17:16:16  profilanswer
 

:lol:

n°181959
El_gringo
Posté le 24-07-2002 à 18:08:50  profilanswer
 

scène de ménage entre binôme, c marrant ça :D

n°182137
benou
Posté le 24-07-2002 à 21:16:09  profilanswer
 

chapi456 a écrit a écrit :

 
Ben c'est Seby pkoi ...
Attention, vous etes en face d'un gros pipoteur ... bientot il va dire qu'il se levait a 8h et se couchait a 4h du mat pour le projet ...
 :bounce:  




ouais et 2 jours de suite en plus ... halala souvenir souvenir ...
 
quan t à seby :sarcastic:, l'avait pas été foutu de faire un chat correct

n°182375
bobuse
Posté le 25-07-2002 à 09:57:29  profilanswer
 

--greg-- a écrit a écrit :

 
en fait on devrait tenir à jour un site séparé avec la faq et ce genre de topic, revu & corrigé (c-a-d nettoyé quoi), ça serait plus pratique.
je suis partant pour m'en occuper à temps partiel, mais bon, j'entend déjà d'ici les railleries (justifiées) concernant le trombi :D




C'est quoi cette histoire de trombi ?
 
Sinon, pour commencer, ce serait bien nu topic qui pointe vers les topics "tonton explique"

n°182386
darklord
You're welcome
Posté le 25-07-2002 à 10:03:24  profilanswer
 

bobuse a écrit a écrit :

 
C'est quoi cette histoire de trombi ?




 
http://hfr.kicks-ass.org


---------------
Just because you feel good does not make you right
n°182391
bobuse
Posté le 25-07-2002 à 10:08:19  profilanswer
 

DarkLord a écrit a écrit :

 
 
http://hfr.kicks-ass.org




sympa! marrant !  :)

n°688147
El_gringo
Posté le 31-03-2004 à 10:28:57  profilanswer
 

D'après ce que j'ai compris de la brillante explication de benou (page 1), ce n'est pas grave en soit qu'un hashcode soit  le même pour 2 objets différents (!equals). Seulement : plus ce cas se produira souvent, plus le recherche dans une quelconque table de hashage sera ralentie. exact ?

n°688148
kadreg
profil: Utilisateur
Posté le 31-03-2004 à 10:32:40  profilanswer
 

gagné :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°688152
nraynaud
lol
Posté le 31-03-2004 à 10:34:47  profilanswer
 

el_gringo a écrit :

ce n'est pas grave en soit qu'un hashcode soit  le même pour 2 objets différents

C'est même normal.


---------------
trainoo.com, c'est fini
n°688153
El_gringo
Posté le 31-03-2004 à 10:36:45  profilanswer
 

nraynaud a écrit :

C'est même normal.


 
Ben... si c'est évitable, autant l'éviter non ?  
Genre dans le cas d'un objet dont l'identité est fixée par un entier, ou 2 short, ...

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5

Aller à :
Ajouter une réponse
 

Sujets relatifs
question de newbie : a quoi sert la fonction break?[HTML, JS] Heu, ca sert à quoi le HTML 4.01, à part renvoyer aux CSS2
[XML] SVG : qui s'en sert ?A quoi sert ma BdD localhost si j'en ai une sur Multimania?
[mysql]a koi sert l'attribut binary des chps mysql ?[VB] A quoi sert ....
[PHP] disk_total_space : undefined function... quelqu'un s'en sert ?Trouver une bonne formule de HashCode
a koi sert le fichier MSCVRT.DLL ki se trouve dans system32?a quoi sert une base de donnee pour un site
Plus de sujets relatifs à : hashCode, qui s'en sert ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR