我正在尝试找到java.util.list的“add”方法。该方法采用输入和返回值类型,如下所示:
jmethodID addMethodID = (*env)->GetMethodID(env, listClass, "add", "(Ljava/lang/Object)(Ljava/lang/String)Z;");
返回值为NULL。我哪里错了?输出的布尔规范是错误的还是输入类型?我应该指定我的输入类型吗?如果是这样,怎么样?
答案 0 :(得分:1)
java.util.List.add(Object e)只有一个参数...你有两个列出的(对象和字符串)和一个返回类型。我想你想要:(Ljava / lang / Object;)Z;
答案 1 :(得分:0)
在您的代码中,我认为您遗漏了方法签名中的一些分号。即:"(Ljava/lang/Object)(Ljava/lang/String)Z;"
应为"(Ljava/lang/Object;)(Ljava/lang/String;)Z;"
。
您可以考虑使用带有-s
标记的javap来自动生成所需方法的签名。