Différence d’enum en C et Java

J’aimerais savoir quelle est la différence d’Enum entre C et Java. Et existe-t-il un moyen de “traduire” une énumération en une énumération Java? C’est parce que j’ai un enum écrit en C sur un robot contenant des types de messages et que je dois avoir le même en Java pour qu’il puisse lire les données que j’envoie depuis une application.

En C, une énumération est juste un ensemble de constantes intégrales nommées. En Java, une énumération s’apparente davantage à une instance nommée d’une classe. Vous avez la possibilité de personnaliser les membres disponibles dans l’énumération.

De plus, C convertira implicitement les valeurs enum en leur équivalent intégral, alors que la conversion doit être explicite en Java.

Pour plus d’informations, visitez: Enum In C & Enum In Java

Java Enum est différent de C Enum, car Java Enum est un type de classe, lorsque C \ C ++ enum est constant, peut être utilisé dans des expressions indexées et des opérandes. En outre, les énumérations C \ C ++ offrent une alternative à la directive #define preprocessor. PS: pour plus d’informations, consultez Effective Java ( http://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/0321356683 ), 6e chapitre (articles 30 à 37), sur son utilisation et son utilisation. différences avec les énumérations C \ C ++.

Contrairement à C, qui utilise enum comme un ensemble de constantes nommées, Java l’implémente en tant que classe. Et si vous êtes préoccupé par les performances, ne l’utilisez pas dans Android ( The Price of Enums ).