⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 objectarraylibrary.cpp

📁 < Professional Java,JDK 5 Edition> 经典例程源代码。
💻 CPP
字号:
// 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -