在我们的项目中,我尝试从具有可变数量参数的 lua 调用 java 方法。所以java-method的代码看起来像:
public static void addEvent( String luaFile, String function,
int milliseconds, Object...args )
{
events.add( new TimerEvent( luaFile, function, milliseconds, args ) );
}
我想从一个 lua 文件中调用这个方法:
mgr:addEvent( "luaFile.lua", "doSomething", 3000, var )
但是使用 Luajava 我总是得到一个错误:
PANIC: unprotected error in call to Lua API (Invalid method call. No such method.)
即使删除“var”-参数或添加更多参数也不起作用。
所以也许你们中的任何人曾经在 Lua 文件中使用过带有可变参数的 java 方法,并且可以给我一个提示,我可以如何解决这个问题。我只是不想在 Lua 文件中使用太多代码行,因为我需要创建一个 ArrayList 并添加参数并将这个 ArrayList 传递给 Java 方法。所以也许还有一种简单的方法来创建一个数组,我可以将它作为数组传递给 Java。所以解决方案不一定要使用 vargs,但我认为这将是一种简单的方法。
感谢您提前提供任何帮助