JNI中的Java枚举序号

JNI中的Java枚举序号,java,c++,enums,java-native-interface,Java,C++,Enums,Java Native Interface,我有一个java枚举: puclic enum TestSet{ TEST_COLOR, TEST_SKEW, TEST_ANGLE; } 现在我想在我的C++代码中编写代码: Test::Test(){ bool foo [5]; .... .... foo[TestSet.TEST_COLOR] = true; foo[TestSet.TEST_SKEW] = false; .... ..... } 我问序数,因为我想用C++和java中的枚举字段索引。

我有一个java枚举:

puclic enum TestSet{
  TEST_COLOR,
  TEST_SKEW,
  TEST_ANGLE;
}
现在我想在我的C++代码中编写代码:
Test::Test(){
 bool foo [5];

 ....
 ....
 foo[TestSet.TEST_COLOR] = true;
 foo[TestSet.TEST_SKEW]  = false;

 ....
 .....

}
我问序数,因为我想用C++和java中的枚举字段索引。p> 我知道我可以传递枚举并通过字符串访问字段
类似这样的内容:

jclass clSTATUS    = env->FindClass("TestSet");
jfieldID fidTEST_COLOR    = env->GetStaticFieldID(clSTATUS , "TEST_COLOR", TestSet;");
jobject STATUS_ONE = env->GetStaticObjectField(clSTATUS, fidONE);


但是,如果有像我提出的代码这样的东西,会方便得多。这有可能吗?我也可以将java枚举复制到C++中,但是我必须维护两个文件。 如果在
enum
类本身上运行
javah
,它将生成一个.h文件,其中包含所有序数值的
#define
语句。

默认情况下,我无法用javah实现这一点。但我认为你在另一个论坛上提出了这个解决方案。但是,我需要使用附加信息“调优”我的enum java,以便获得定义。我更喜欢C++中类似于实际枚举的东西,而不是定义。