bonjour,

J'ai une classe, qui me génère un tableau de bytes. Dans cette classe je peux récupérer la valeur d'un champs spécifique du tableau à l'aide de getCmd().

Le problème est que je voudrais pour des question de lisibilité dans mon code source pouvoir faire une concordance entre la valeur de ce champs et une chaine de caractère compréhensible pour un humain.

Voici ce que j'ai commencé à faire mais ça ne fonctionne pas (erreur de compilation):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 
		public class CMD {
			public final static byte DATA = 0x00;	// contient des données (0x00)
			public final static byte EOF = 0x01;	// fin du fichier (0x01)
			public final static byte JUMP = 0x04;	// saut d'adresse (0x04)
		}
 
		class MaClass {
			Byte[] pTabByte = new Byte[32];
 
			// ....
			// ....
 
			// Traitement de pTabByte
 
			// ....
			// ....
 
 
			// recupération d'un champs spécifique
			public CMD getCmd(){
				return pTabByte[3];
				// => ne fonctionne pas car CMD n'est un byte
				// => si je mets byte à la place de CMD, ça n'ira pas car l'utilisateur ne verra pas 
				//     la correspondance entre cette valeur et mon enum.
				//     Je veux qu'il puisse voir tout de suite ce que représente la valeur retournée
			}
		}
 
 
		// ************************
		// Utilisation de la classe 
 
		MaClass obj = new MaClass();
 
		switch(obj.getCmd()){
			case CMD.DATA:
				// traitement
				// ...
				break;
 
			case CMD.EOF:
				// traitement
				// ...
				break;
 
			default :
				// traitement
				// ...
		}
 
		// ************************
=> comment puis-je faire ? ...En gros, j'aimerais pourvoir faire un enum en langage C (enum en java n'a pas l'air d'être une bonne solution pour ce cas)