如何在JNI中比较两个jbyteArray?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在JNI中比较两个jbyteArray?相关的知识,希望对你有一定的参考价值。
我想比较两个jbyteArray如果在JNI中相等。是否有任何方法,如“strcmp”?
答案
如果要检查两个jbyteArrays实际上是否是相同的对象,可以使用env->IsSameObject(array1, array2)
进行测试。
如果它们实际上是不同的对象,您可以通过逐个元素地匹配它们来比较数组的内容与JNI。当然,首先比较两个对象的长度是明智的,并且只有在长度相等时才继续固定它们的元素。
GetByteArrayElements(array)
返回一个C字节数组,因此可以将两个jbyteArrays的结果与memcmp()
进行比较。
即使您不再需要Java对象,也不要忘记在使用后释放数组。在开始比较它们之前,不要忘记检查两个jbyteArrays都不为null。
以上是关于如何在JNI中比较两个jbyteArray?的主要内容,如果未能解决你的问题,请参考以下文章
Android JNI:将cv :: Mat转换为jbyteArray
求指教,C++编写JNI中jobect和jstring如何类型转换
Android 安装包优化使用 lib7zr.so 动态库处理压缩文件 ( jni 中 main 函数声明 | 命令行处理 | jni 调用 lib7zr.so 函数库处理压缩文件完整代码 )(代码片