J'ai créé une carte de hachage dans lequel chaque entrée correspond à 3 valeurs valeurs d'objets clés (qui sont au nombre de deux)HashMap (Java) donnant des résultats erronés
J'ai créé une classe, dont l'objet créer et stocker les résultats dans une carte de hachage Ceci est mon code ci-dessous dans lequel je compare mes données entrantes avec les valeurs précédentes dans la carte de hachage.Si les mêmes données viennent alors je juste incrémenter le compteur de ces données. J'ai pris les instructions d'impression dans la boucle for. Bien que les deux chaînes correspondent, mais mon code ne vient jamais dans la boucle if pour incrémenter le compteur.Pourquoi?
for(i=1;i<=hMap.size();i++)
{
String skey = Integer.toString(i);
if(hMap.get(skey).olddata==comingdata)
{
hMap.get(skey).counter= hMap.get(skey).counter+1;
}
}
Vous ne comparez pas les objets avec '=='. –
en d'autres termes, utilisez object.equals (otherObject) –
comingdata est une chaîne et hMap.get (skey) .olddata est aussi une chaîne mais c'est une chaîne d'un objet – Natasha