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文件。 –