Comparaison des membres d'énumération Java : == vs. equals()
Lorsqu'ils travaillent avec les types d'énumération de Java, les développeurs sont souvent confrontés à la question de savoir si pour utiliser l'opérateur d'égalité (==) ou la méthode equals() pour comparer les membres d'une énumération. Cette question se pose car les énumérations sont compilées en classes, ce qui entraîne une confusion sur les implémentations sous-jacentes.
Comprendre les énumérations Java
Les énumérations Java sont des classes avec des constructeurs privés et des membres statiques publics représentant les valeurs enum. Ces membres sont essentiellement des constantes et ne peuvent pas être modifiés.
Comparaison des membres d'une énumération
L'opérateur == et la méthode equals() peuvent être utilisés pour comparer les membres de l'énumération. La méthode equals() fournit un moyen standard de comparer des objets en Java, tandis que == compare les références des objets comparés.
Équivalence technique
Inspection de la source Le code de la méthode equals() révèle qu'elle s'en remet simplement à l'opérateur ==. Cela signifie que, techniquement, les deux approches sont équivalentes pour comparer les membres d'une énumération.
Approche recommandée
Cependant, il est généralement recommandé d'utiliser l'opérateur == pour comparer les énumérations. membres. Cette approche est :
Exemple
Le code suivant démontre l'utilisation de == et equals() pour comparer les membres de l'énumération :
public enum MyEnum { A, B, C } public static void main(String[] args) { MyEnum a = MyEnum.A; MyEnum b = MyEnum.B; System.out.println(a == b); // false System.out.println(a.equals(b)); // false }
Dans cet exemple, == et equals() renvoient false car a et b font référence à des membres de l'énumération différents.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!