比如:c++的一个函数a的参数是一个结构体struct pcd_t
a(pcd_t pt)
那在用JNI调用的时候,java对应的类型是什么?Class吗?

解决方案 »

  1.   

    对,可以是一个包括多个属性和相应getter ,setter方法的java类。
      

  2.   

    那如果这个struct 内又套一个struct呢?
    例如:
    typedef struct{
      p_t  pt;
      s_t  st;
    }h_t;typedef struct{
     int i;
     int y;
    }p_t;typedef struct{
     string x;
     char   c;
    }s_t;是不是要写三个java的class来对应?
      

  3.   

    你可以把一个类作为另一个类的属性。
    例如:
    class p_t
    {
      int i;
      int y;
    }
    class s_t
    {
       string x;
       char c;
    }
    class h_t
    {
       p_t pt;
       s_t st;
    }然后加上各自的get,set方法就可以了
      

  4.   

    在java中那叫包
    这几个类可以写在一个包中,也可以不写在一个包中。
    当不是在一个包中时,在引用另一个类时要添加import语句。