这是我遇到的Groovy代码:爪哇 - 8:动态方法的参数
def add(a, b) {
return a+b
}
println add(1,2) // prints 3
println add("Suganthan","Madhavan") // prints SuganthanMadhavan
当常规标识上运行的方法参数。 Java-8
这个运行时方法参数检测是否可行?
是否至少可以通过MethodHandle?
这是我遇到的Groovy代码:爪哇 - 8:动态方法的参数
def add(a, b) {
return a+b
}
println add(1,2) // prints 3
println add("Suganthan","Madhavan") // prints SuganthanMadhavan
当常规标识上运行的方法参数。 Java-8
这个运行时方法参数检测是否可行?
是否至少可以通过MethodHandle?
编号Groovy是一种动态编译语言。 Java是一种静态编译的语言。
这是至少可以通过'java.lang.invoke.MethodHandle '? –
否;一个方法将会有特定类型的参数。静态编译。当然,您可以将Object a,Object b'作为参数,然后通过反射来确定对象是什么,然后动态调用正确的concat函数,但是使用Groovy会更好。 Groovy做了类似的事情。 –
当你说,我们可以通过'反射'来做到这一点,我希望我们可以尝试使用'MethodHandle',这可能会提供更好的性能。那有意义吗? –
你想实现什么? – Koshinae
我只是想明白,java-8支持动态方法参数检测 –
所有你能做的就是编写你自定义的重载方法来实现这种行为,这将会被java自动检测到哪个方法根据参数类型 –