Articles of est égal à

c # enum est égal à () vs ==

Dans le cas de l’utilisation de énumérations, est-il préférable d’utiliser: if (enumInstance.Equals(MyEnum.SomeValue)) ou à utiliser if (enumInstance == MyEnum.SomeValue) Est-ce que leurs considérations importantes utilisent l’une ou l’autre?

Pourquoi BigDecimal («5,50») n’est pas égal à BigDecimal («5,5») et comment contourner ce problème?

En fait, j’ai trouvé une solution possible //returns true new BigDecimal(“5.50”).doubleValue() == new BigDecimal(“5.5”).doubleValue() Bien sûr, il peut être amélioré avec quelque chose comme Math.abs (v1 – v2) < EPS pour rendre la comparaison plus robuste, mais la question est de savoir si cette technique est acceptable ou existe-t-il une meilleure solution? Si quelqu’un sait […]

Existe-t-il une référence complète de mise en œuvre?

Beaucoup de mes questions sur SO concernent l’implémentation IEquatable. J’ai trouvé cela extrêmement difficile à mettre en œuvre correctement, car l’implémentation naïve comporte de nombreux bogues cachés et les articles que j’ai trouvés à ce sujet sont assez incomplets. Je souhaite trouver ou écrire une référence définitive qui doit inclure: Comment implémenter IEquatable correctement Comment […]

Utilisation de l’opérateur == en Java pour comparer des objects wrapper

Je lis SCJP Java 6 par Kathy Sierra et Bert Bates et ce livre me déroute tellement. Sur la page 245, ils indiquent que le code suivant ci-dessous. Integer i1 = 1000; Integer i2 = 1000; if(i1 != i2) System.out.println(“different objects”); //Prints output different objects Ensuite, à la page suivante, ils ont le code suivant […]

Hashcode et Equals for Hashset

S’il vous plaît clarifier mon doute dans Hashset. Considérez le code suivant, class Person { Ssortingng name; Person(Ssortingng n) { name=n; } public Ssortingng getName() { return name; } @Override public boolean equals(Object arg0) { System.out.println(“in equals”); Person obj=(Person)arg0; System.out.println(“1st “+getName()); System.out.println(“2nd “+obj.getName()); if(this.getName().equals(obj.getName())) { return true; } return false; } @Override public int hashCode() […]

Groovy différents résultats sur l’utilisation de equals () et == sur un GSsortingngImpl

Selon les docs groovy , le == est juste un “astucieux” égal () car il évite également NullPointerException. Donc, le == et equals () devraient retourner la même valeur si les objects ne sont pas nuls. Cependant, je reçois des résultats inattendus lors de l’exécution du script suivant: println “${‘test’}” == ‘test’ println “${‘test’}”.equals(‘test’) La […]

Est-il possible en java de faire quelque chose comme Comparator mais pour implémenter des equals () et hashCode () personnalisés

J’ai un tableau d’objects et je veux le concaténer avec un autre tableau d’objects, à l’exception des objects qui ont le même identifiant. Les objects sont utilisés à de nombreux endroits du système et n’ont pas de code de hachage ou d’équivalent. Donc, je ne veux pas implémenter hashCode() et equals() , car j’ai peur […]

Comment comparer deux chaînes lorsque les deux peuvent être nulles?

Je suis conscient qu’il est préférable d’appeler la méthode equals à l’aide de l’opérateur == (voir cette question ). Je veux que deux chaînes soient égales si elles sont toutes deux nulles ou si elles représentent la même chaîne. Malheureusement, la méthode equals lancera un NPE si les chaînes sont null . Mon code est […]

Implémenter GetHashCode correctement

J’aimerais que la communauté me dise comment je devrais mettre en œuvre GetHashCode (ou le remplacer) pour mon object. Je comprends que je dois le faire si je remplace la méthode égale. Je l’ai implémenté pas mal de fois, parfois en appelant simplement la méthode de base. Je comprends que mon object doit être égal […]

Remplacement de GetHashCode pour les objects mutables?

J’ai lu environ 10 questions différentes sur quand et comment remplacer GetHashCode mais il y a toujours quelque chose que je ne comprends pas vraiment. La plupart des implémentations de GetHashCode sont basées sur les codes de hachage des champs de l’object, mais il a été cité que la valeur de GetHashCode ne devrait jamais […]