Se si sta utilizzando JNA, si consiglia di specificare esplicitamente i valori dell'enumerazione in Java. Per impostazione predefinita, il tipo di enum di base di Java non fornisce realmente tale funzionalità, è necessario aggiungere un costruttore per un EnumSet (vedere this e this).
Un modo semplice per codificare le enumerazioni C consiste nell'utilizzare i const const statici pubblici racchiusi in una classe con lo stesso nome dell'enum. Ottieni la maggior parte delle funzionalità ottenute da un enum Java, ma un po 'meno overhead per assegnare valori.
Alcuni buoni esempi JNA, inclusi i frammenti di seguito (che sono stati copiati) sono disponibili here.
Supponiamo che il vostro codice C si presenta come:
enum Values {
First,
Second,
Last
};
Poi il Java assomiglia:
public static interface Values {
public static final int First = 0;
public static final int Second = 1;
public static final int Last = 2;
}
fonte
2009-08-31 18:40:05