0
我在我的代碼這一點,如果我可以在Java8中引用方法名稱嗎?
if (method.getName().equals("ignore")) {
它指向一個靜態方法。
我可以撥打getName
MyClass::ignore
??
我在我的代碼這一點,如果我可以在Java8中引用方法名稱嗎?
if (method.getName().equals("ignore")) {
它指向一個靜態方法。
我可以撥打getName
MyClass::ignore
??
不,沒有靜態(編譯時間)的方式來引用方法作爲Method
對象。您必須通過Class#getMethod(..)
(或其他適當的方法)動態檢索它。或者使用String
的值作爲您當前的名字。
以上是什麼類型的'方法'?還是假設? – 2014-09-29 15:42:38
[使用反射調用靜態方法]的可能重複(http://stackoverflow.com/questions/2467544/invoking-a-static-method-using-reflection) – 2014-09-29 15:47:14
我感覺這裏可能的XY問題類型的問題。有一個簡短的答案,以及更長的更正確的答案,這將取決於我們不知道的背景信息,直到您告訴我們。換句話說,可能有更好的方法來做你想做的事情,而不是試圖以這種方式獲得方法名稱。請告訴我們您的問題的詳細信息,而不是您如何解決問題,以便我們提供準確的幫助。 – 2014-09-29 15:49:35