调用尝试从metatable函数使用checkJavaObject检索自身时出现JNLua错误

时间:2019-05-22 19:32:35

标签: java jnlua

我想调用在自定义元表中定义的函数,但问题是JNLua似乎将我的Object强制转换为userdata,而当我想使用checkJavaObject进行自我检索时却无法将其强制强制转换回我的类I。

可转换函数的调用:

@Override
public int invoke(LuaState l)
{
    TestClass self = l.checkJavaObject(1, TestClass.class);
    System.out.println(self.GetTestName());
    return 0;
}

Lua代码:

local testObject = test.new("TestClass") -- Create a test object (get casted to userdata at this point)
testObject:Set("Hey")

输出:

com.naef.jnlua.LuaRuntimeException: [string "test.lua"]:7: com.naef.jnlua.LuaRuntimeException: bad self argument to 'Set' (com.zino2201.test.TestClass expected, got userdata)

0 个答案:

没有答案