2016-07-05 79 views
1

如何在c语言中比较两个jstring。我正在使用java本地接口,其中我通过java语言调用c本地函数c代码中的逻辑是比较匹配的名称。Jstring比较in.c语言

回答

1

您可以简单地使用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); 

这是这样比较的粗糙版本。

+1

但执行此代码后,它显示以下错误“表达式必须有指针类型”。 –

+0

正如我所说 - 这很粗糙。显示完整的编译器消息以及它无法理解的内容?它是否被编译为C或C++? – Sergio

+0

其实我们已经在windows visual studio中编写了代码。我们已经创建了dll,其中添加了我们的逻辑存在的.c文件。 –