当前位置:编程学习 > JAVA >>

JNI中 LinkedList<byte[]>的操作的问题

JNIEXPORT jint JNICALL Java_codec_SpeexEn_Encode
  (JNIEnv * env, jobject jo, jshortArray shortArray, jint offset, jobject linkedList, jint size) {

jbyteArray encoded;
encoded = env->NewByteArray(once);
env->SetByteArrayRegion(encoded, 0, once, obuffer);

jclass class_LinkedList = env->GetObjectClass(linkedList); 

jmethodID list_add_first = env->GetMethodID(class_LinkedList, "addFirst" , "(Ljava/lang/Object;)V"); 
__android_log_print(ANDROID_LOG_ERROR, "luoqi", "will call add_first");

env->CallVoidMethod(linkedList, list_add_first, encoded);

}
求各位JAVA高手个帮忙
由于节约篇幅看起来不那么复杂 我只截取了 函数中一部分代码。

在C++函数里 我想处理JAVA里面传入的LinkedList<byte[]> 对象

但是在C++里面 我想知道 那个泛型byte[] 怎么表示呢

而且我代码执行到 最后一句 就是红色那一句 就出错了

我把addFirst 后面的参数 改为([B)V  就提示根本取不到 方法  

但是byte[] 可以算一个Object么? 

完全不明白了 --------------------编程问答-------------------- env->CallVoidMethod(env, linkedList, list_add_first, encoded);

试试 --------------------编程问答-------------------- 肯定不是这个原因 --------------------编程问答-------------------- 把你这个方法的java代码发出来看看。 --------------------编程问答-------------------- se.Encode(sbContent.array(), 0, ll, sbContent.limit());

--------------------编程问答-------------------- ll是一个 LinkedLink<byte[]>类型的对象 --------------------编程问答-------------------- 你现在掉不到addFirst这个方法是不,因为参数类型不对? --------------------编程问答-------------------- 我不知道应该穿什么参数了 反正那句有错 

 系统必须制定为0BJECT 但是我泛型是byte[] --------------------编程问答-------------------- 我想知道 一个泛型的对象传到C里  到底是TMD个神马东西 --------------------编程问答-------------------- 要注意C中的数组必须是连续的存储空间 --------------------编程问答-------------------- 但是 如何解决? --------------------编程问答-------------------- 有高手哥吗!? 想自杀了
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,