1
我需要從JNI調用的java方法中傳出一個數組和一個整數。通過引用從java返回JNI
public static int foo(byte[] data)
{
byte[] buffer;
// Fill buffer with data
data = buffer; // <--- This doesn't work as the pointer is changed
return bufferSize;
}
在這行表示,它是我的理解,指針被改變,但我有JNI來data
我在通過參考不更新,所以我沒有得到新的數據。
我該如何去通過參數返回額外的數據?
您需要傳遞對象,並使用它們的setter來修改它們的值。 –
好吧,如果我想通過參數返回一個整數,那''Integer'是不可變的嗎? – DrYap
你將不得不把一個包裝器作爲一個參數,它包含一個對'Integer'的引用,並分配這樣的新的Integer。如果你可以重構你的代碼不這樣做會更好。 –