2014-09-29 60 views
0

我在我的代碼這一點,如果我可以在Java8中引用方法名稱嗎?

if (method.getName().equals("ignore")) { 

它指向一個靜態方法。

我可以撥打getNameMyClass::ignore ??

+0

以上是什麼類型的'方法'?還是假設? – 2014-09-29 15:42:38

+0

[使用反射調用靜態方法]的可能重複(http://stackoverflow.com/questions/2467544/invoking-a-static-method-using-reflection) – 2014-09-29 15:47:14

+1

我感覺這裏可能的XY問題類型的問題。有一個簡短的答案,以及更長的更正確的答案,這將取決於我們不知道的背景信息,直到您告訴我們。換句話說,可能有更好的方法來做你想做的事情,而不是試圖以這種方式獲得方法名稱。請告訴我們您的問題的詳細信息,而不是您如何解決問題,以便我們提供準確的幫助。 – 2014-09-29 15:49:35

回答

2

不,沒有靜態(編譯時間)的方式來引用方法作爲Method對象。您必須通過Class#getMethod(..)(或其他適當的方法)動態檢索它。或者使用String的值作爲您當前的名字。

相關問題