1
如何在c语言中比较两个jstring。我正在使用java本地接口,其中我通过java语言调用c本地函数c代码中的逻辑是比较匹配的名称。Jstring比较in.c语言
如何在c语言中比较两个jstring。我正在使用java本地接口,其中我通过java语言调用c本地函数c代码中的逻辑是比较匹配的名称。Jstring比较in.c语言
您可以简单地使用Java的equals()
(或任何你想)通过CallBooleanMethod()
:
jstring jstr1;
jstring jstr2;
jclass cls = (*env)->GetObjectClass(env, jstr1);
jmethodID mID = (*env)->GetMethodID(env, cls, "equals", "(Ljava/lang/Object;)Z");
jboolean equals = (*env)->CallBooleanMethod(env, jstr1, mID, jstr2);
这是这样比较的粗糙版本。
但执行此代码后,它显示以下错误“表达式必须有指针类型”。 –
正如我所说 - 这很粗糙。显示完整的编译器消息以及它无法理解的内容?它是否被编译为C或C++? – Sergio
其实我们已经在windows visual studio中编写了代码。我们已经创建了dll,其中添加了我们的逻辑存在的.c文件。 –