objectarraylibrary.cpp
来自「< Professional Java,JDK 5 Edition>」· C++ 代码 · 共 56 行
CPP
56 行
// ObjectArrayLibrary.cpp : Defines the entry point for the DLL application.
//
#include "stdafx.h"
#include "..\ObjectArrayExample.h"
JNIEXPORT jint JNICALL Java_ObjectArrayExample_findString
(JNIEnv *env, jobject obj, jobjectArray strList, jstring strToFind)
{
const char *findStr;
jint i;
int arrayLen;
arrayLen = env->GetArrayLength(strList);
findStr = env->GetStringUTFChars(strToFind, NULL);
if(findStr == NULL) {
return(-1);
}
for(i=0; i<arrayLen; i++) {
jstring strElem = (jstring)env->GetObjectArrayElement(strList, i);
if(strElem != NULL) {
const char *strTemp = env->GetStringUTFChars(strElem, NULL);
if(strcmp(strTemp, findStr) == 0) {
env->ReleaseStringUTFChars(strElem, strTemp);
env->ReleaseStringUTFChars(strToFind, findStr);
env->DeleteLocalRef(strElem);
break;
}
env->ReleaseStringUTFChars(strElem, strTemp);
env->DeleteLocalRef(strElem);
}
env->ReleaseStringUTFChars(strToFind, findStr);
}
if(i == arrayLen) {
return(-1);
} else {
return(i);
}
}
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?