Java enum ordinal in JNI
Java enum ordinal in JNI
我有一个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 中枚举字段的索引 .ordinal()。
我知道我可以传递枚举并通过字符串访问字段。
像这样:
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
语句。
相关文章:
- netcat command in c++
- Difference in displaying cv2 Mat
- 通过JNI传递数据数组的最快方法是什么
- C++ MFC Libraries in Travis CI
- 如何在OpenSSL中从configuration.h.in获取configuration.h
- 创建具有 new in 函数和"this is nullptr"异常的对象
- IN, OUT, INOUT Parameters
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 有人安装"IITB Simplecpp in mac"吗?
- 从 C 样式字符串中删除子字符串 "in place" 在C++代码中
- 如何修复"error: ‘_1’ was not declared in this scope"?
- Softmax Implementation in C++
- 将 out/in out 参数与 if/switch 的 init 语句一起使用
- Winapi - SetWindowLongPtr in ShutdownBlockReason创建/销毁JNI本机代码
- ByteArray in JNI
- 将位图转换为opencv :: mat in Jni
- Java enum ordinal in JNI
- 安卓 JNI C++中的"Not declared in this scope"错误
- JNI, Java to C++ in Eclipse: undefined reference to '_imp__JNI_CreateJavaVM@12'
- [Linux]Load .so file for JNI results in: java.lang.Unsatisfi