我有一个java-enum:
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 ++中的枚举字段索引和.ordinal()中的java索引。
我知道我可以通过枚举并按字符串访问字段。这样的事情:
jclass clSTATUS = env->FindClass("TestSet");
jfieldID fidTEST_COLOR = env->GetStaticFieldID(clSTATUS , "TEST_COLOR", TestSet;");
jobject STATUS_ONE = env->GetStaticObjectField(clSTATUS, fidONE);
但是像我提出的代码一样,会更方便。这有可能吗?我也可以将java enum复制到c ++中,但是我必须维护两个文件。
答案 0 :(得分:0)
如果您在javah
类本身上运行enum
,它将为所有序数值生成一个带有#define
语句的.h文件。