Nếu bạn đang sử dụng JNA, bạn có thể muốn chỉ định rõ ràng các giá trị của liệt kê trong Java. Theo mặc định, kiểu enum cơ bản của Java không thực sự cung cấp cho bạn chức năng đó, bạn phải thêm một hàm tạo cho một EnumSet (xem this và this).
Một cách đơn giản để mã hóa C liệt kê là sử dụng công thức tĩnh int const cuối cùng được bọc trong một lớp có cùng tên với enum. Bạn nhận được hầu hết các chức năng mà bạn nhận được từ một enum Java nhưng chi phí thấp hơn một chút để gán các giá trị.
Một số ví dụ JNA tốt, bao gồm các đoạn dưới đây (được sao chép) có sẵn here.
Giả mã C của bạn trông giống như:
enum Values {
First,
Second,
Last
};
Sau đó, Java trông giống như:
public static interface Values {
public static final int First = 0;
public static final int Second = 1;
public static final int Last = 2;
}
Nguồn
2009-08-31 18:40:05