- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
@MemberGetter
之间有什么区别?和 @ValueGetter
JavaCPP
中的注释?
它们的用例是什么?
我有两个常量的 C 头文件
static const int TRANSPOSE = 0;
static const int NO_TRANSPOSE = 1;
在 Java 端获取它们的值的首选方法是什么?
更新:
我已阅读 JavaCPP 生成器源代码 code ,做了一些实验并最终以两种方式进行,并且两者都有效。这是 java 示例(有关更多信息,请参阅我们的 github project)。
private static native @MemberGetter @Const int TRANSPOSE();
private static native @ValueGetter @Const int NO_TRANSPOSE();
但是我还是不知道有什么区别。两个注释都生成了相同的 C++ 代码。
JNIEXPORT jint JNICALL Java_com_rtbhouse_model_natives_NeuralNetworkNativeOps_TRANSPOSE(JNIEnv* env, jclass cls) {
jint rarg = 0;
const int rvalue = (const int)TRANSPOSE;
rarg = (jint)rvalue;
return rarg;
}
JNIEXPORT jint JNICALL Java_com_rtbhouse_model_natives_NeuralNetworkNativeOps_NO_1TRANSPOSE(JNIEnv* env, jclass cls) {
jint rarg = 0;
const int rvalue = (const int)NO_TRANSPOSE;
rarg = (jint)rvalue;
return rarg;
}
最佳答案
对于全局变量和宏,没有太大区别。在类的情况下,一对 native get()
和 put()
方法默认为值 getter 和 setter,映射到 []
指针的运算符,通常用于访问数组的元素。其他 getter 和 setter 对用于访问字段,如 native int n(); native void n(int n)
默认是成员变量int n
的成员getter和setter。 @ValueGetter
、@ValueSetter
、@MemberGetter
、@MemberSetter
和@Function
注释可用于更改默认行为并为方法使用其他名称。
关于JavaCPP ValueGetter 与 MemberGetter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40418052/
@MemberGetter 之间有什么区别?和 @ValueGetter JavaCPP 中的注释? 它们的用例是什么? 我有两个常量的 C 头文件 static const int TRANSPOS
我试图了解 ag-grid 的 valuegetter、valueformatter 和 valueparser 的正确用例是什么? https://www.ag-grid.com/javascrip
我是一名优秀的程序员,十分优秀!