gpt4 book ai didi

android - 如何在 Android NDK 中比较两个 jbyte 数组

转载 作者:行者123 更新时间:2023-11-29 01:59:39 25 4
gpt4 key购买 nike

我是 NDK 的新手,正在学习。

我设法从 java 代码调用本地方法,但不知道如何比较两个 jbyte 数组

这是我的:

 jbyte bytes1[] = {48, -126, 1,4};
jbyte bytes2[] = {48, -126, 1,4};

jclass cls = (*env)->GetObjectClass(env, bytes1);
jmethodID mid = (*env)->GetMethodID(env, cls, "equals", "([B)Z");
jboolean isEqual = (*env)->CallBooleanMethod(env, bytes1, mid, bytes2);

我知道上面的代码是错误的,但是有没有比较字节数组的正确方法

最佳答案

如果需要比较两个 jbyte 数组,请使用 memcmp。

#include <string.h>
int memcmp(const void *s1, const void *s2, size_t n);

在你的例子中,

jboolean isEqual = (memcmp(bytes1, bytes2, 4) == 0);

关于android - 如何在 Android NDK 中比较两个 jbyte 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13295999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com