I want to use JNI to pass java reference to c++ side,then get the object back in java, but I understand java not like c++ that can use reference. Also I want to prevent using external storing variable like Vector to hold the created object. I imagine it has a reference type "MyPointer" like this:
steps
create object from java side
pass reference from java side to c++ side, which "MyPointer" is the object reference which can get back the object at java side
get back the object at java side using "MyPointer"
code
public class MyClass{
static{
System.loadLibrary("MyClass");
}
public String name;
public static void backToJavaSide(MyPointer obj){
MyClass myClass=(MyPointer)obj;
System.out.println(obj.name);
}
public static native void toCppSide(MyPointer obj);
public static void main(String[] args){
MyClass m1=new MyClass();
m1.name="abc";
toCppSide(m1);
MyClass m2=new MyClass();
m2.name="def";
toCppSide(m2);
}
}
output
abc
def
Is there any coding style that can simulate "MyPointer" that can pass java object between java and c++?