0
我想創建一個對象的實例,該對象具有一個構造函數,該構造函數通過將int作爲jvalue數組的成員進行傳入來接受兩個整數。當我從構造函數中打印參數時,看起來只有第一個參數被正確傳遞,爲什麼會這樣呢?我的C和Java代碼如下。如何使用jvalue數組傳遞兩個int到構造函數?
C代碼
jclass theClass;
jmethodID theMethod;
theClass = (*env)->FindClass(env, "thepackage/TwoNumbers");
theMethod = (*env)->GetMethodID(env, theClass, "<init>", "(II)V");
jvalue args[2];
args[0].i=55;
args[1].i=6;
jobject theObj = (*env)->NewObject(env, theClass, theMethod, *args);
Java代碼
package thepackage;
public class TwoNumbers {
int a;
int b;
TwoNumbers(int first, int second) {
this.a=first;
this.b=second;
System.out.println("A is "+first+" and b is "+second);
}
}