swig生成以下类型的java类:

public class SWIGTYPE_p_my {
  private long swigCPtr;

  protected SWIGTYPE_p_my(long cPtr, boolean futureUse) {
    swigCPtr = cPtr;
  }

  protected SWIGTYPE_p_my() {
    swigCPtr = 0;
  }

  protected static long getCPtr(SWIGTYPE_p_my obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }
}


我想知道swigCPtr是否为null / 0,但方法受保护。有没有简单的方法
添加一些方法,例如:

public boolean isNull() { return swigCPtr==0L;}


或将getCPtr更改为public

从手册中,我并没有真正得到应该使用哪种类型的映射。

最佳答案

您可以将getCPtr更改为public。您应将以下内容放入SWIG界面文件中。

SWIG_JAVABODY_PROXY(公共,公共,SWIGTYPE)
SWIG_JAVABODY_TYPEWRAPPER(公共,公共,公共,SWIGTYPE)

10-07 19:49