M8Test Help

setParameterTypes

val reflector1 = _reflectors.reflect("com.m8test.script.core.impl.JavaTypeTester") // 调用无参构造方法 _console.log(reflector1.newInstance(null) { setPublic(true) }) val reflector2 = _reflectors.reflect("java.lang.StringBuilder") // 调用有参构造方法 _console.log(reflector2.newInstance(arrayOf("hello world")) { setPublic(true) setParameterTypes(arrayOf(_plugins.loadClass("java.lang.String"))) })
def reflector1 = $reflectors.reflect("com.m8test.script.core.impl.JavaTypeTester") // 调用无参构造方法 $console.log(reflector1.newInstance(null) { setPublic(true) }) def reflector2 = $reflectors.reflect("java.lang.StringBuilder") // 调用有参构造方法 $console.log(reflector2.newInstance($arrays.arrayOf($plugins.loadClass("java.lang.String"), "hello world")) { setPublic(true) setParameterTypes($arrays.arrayOf($plugins.loadClass("java.lang.Class"), $plugins.loadClass("java.lang.String"))) })
let reflector1 = $reflectors.reflect("com.m8test.script.core.impl.JavaTypeTester") // 调用无参构造方法 $console.log(reflector1.newInstance(null, (constructorSelector) => { constructorSelector.setPublic(true) })) let reflector2 = $reflectors.reflect("java.lang.StringBuilder") // 调用有参构造方法 $console.log(reflector2.newInstance($arrays.arrayOf($plugins.loadClass("java.lang.String"), "hello world"), (constructorSelector) => { constructorSelector.setPublic(true) constructorSelector.setParameterTypes($arrays.arrayOf($plugins.loadClass("java.lang.Class"), $plugins.loadClass("java.lang.String"))) }))
local reflector1 = _reflectors:reflect("com.m8test.script.core.impl.JavaTypeTester") -- 调用无参构造方法 _console:log(reflector1:newInstance(nil, function(constructorSelector) constructorSelector:setPublic(true) end)) local reflector2 = _reflectors:reflect("java.lang.StringBuilder") -- 调用有参构造方法 _console:log(reflector2:newInstance(_arrays:arrayOf(_plugins:loadClass("java.lang.String"), "hello world"), function(constructorSelector) constructorSelector:setPublic(true) constructorSelector:setParameterTypes(_arrays:arrayOf(_plugins:loadClass("java.lang.Class"), _plugins:loadClass("java.lang.String"))) end))
<?php $reflector1 = $reflectors->reflect("com.m8test.script.core.impl.JavaTypeTester"); // 调用无参构造方法 $console->log($reflector1->newInstance(null, function ($constructorSelector) { $constructorSelector->setPublic(true); })); $reflector2 = $reflectors->reflect("java.lang.StringBuilder"); // 调用有参构造方法 $console->log($reflector2->newInstance($arrays->arrayOf($plugins->loadClass("java.lang.String"), "hello world"), function ($constructorSelector) use ($plugins, $arrays) { $constructorSelector->setPublic(true); $constructorSelector->setParameterTypes($arrays->arrayOf($plugins->loadClass("java.lang.Class"), $plugins->loadClass("java.lang.String"))); }));
reflector1 = _reflectors.reflect("com.m8test.script.core.impl.JavaTypeTester") def fn1(constructorSelector): constructorSelector.setPublic(True) # 调用无参构造方法 _console.log(reflector1.newInstance(None, fn1)) reflector2 = _reflectors.reflect("java.lang.StringBuilder") def fn2(constructorSelector): constructorSelector.setPublic(True) constructorSelector.setParameterTypes( _arrays.arrayOf(_plugins.loadClass("java.lang.Class"), _plugins.loadClass("java.lang.String"))) # 调用有参构造方法 _console.log(reflector2.newInstance(_arrays.arrayOf(_plugins.loadClass("java.lang.String"), "hello world"), fn2))
reflector1 = $reflectors.reflect("com.m8test.script.core.impl.JavaTypeTester") # 调用无参构造方法 $console.log(reflector1.newInstance(nil) { |constructorSelector| constructorSelector.setPublic(true) }) reflector2 = $reflectors.reflect("java.lang.StringBuilder") # 调用有参构造方法 $console.log(reflector2.newInstance($arrays.arrayOf($plugins.loadClass("java.lang.String"), "hello world")) { |constructorSelector| constructorSelector.setPublic(true) constructorSelector.setParameterTypes($arrays.arrayOf($plugins.loadClass("java.lang.Class"), $plugins.loadClass("java.lang.String"))) })
Last modified: 29 April 2025