假设以下课程
import java.awt.geom.Rectangle2D;
class SomeJavaClass
{
public SomeJavaClass()
{
m_rect = new Rectangle2D.Double();
}
Rectangle2D.Double m_rect;
}
并遵循C ++代码
jclass someJavaCls = env->FindClass("my/package/SomeJavaClass");
jfieldID rectID = env->GetFieldID(someJavaCls, "m_rect", "Ljava/awt/geom/Rectangle2D;");
问题是我不知道如何访问m_rect
的fieldID。通过上述GetFieldID
电话,我得到了
Exception in thread "Thread-2" java.lang.NoSuchFieldError: m_rect
但是,如果我将GetFieldID
的签名更改为"Ljava/awt/geom/Rectangle2D/Double;"
,我会得到相同的异常。这是怎么做到的?
答案 0 :(得分:0)
解决方案似乎是“Ljava / awt / geom / Rectangle2D $ Double;”因为Double
是Rectangle2D
的子类。