這是我遇到的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自動檢測到哪個方法根據參數類型 –