方法名我有2種方法與名稱如何創建「如果條件」的基礎上在java中
firstMethod()
secondMethod()
我想有一個,如果基於方法名條件。
例如:
if (methodName.contains (firstMethod()))
{
}
else
{
}
是否有可能在Java中?
方法名我有2種方法與名稱如何創建「如果條件」的基礎上在java中
firstMethod()
secondMethod()
我想有一個,如果基於方法名條件。
例如:
if (methodName.contains (firstMethod()))
{
}
else
{
}
是否有可能在Java中?
可以使用reflection。
基本反射是一種從字符串傳遞給類,方法,構造函數和反之亦然的機制。
但不清楚你想如何使用它,所以我不知道如何更清楚。
在任何情況下,您需要獲得對Method的引用。從類中可以用方法getName作爲String獲取該方法的名稱。
一旦你有字符串,你可以比較他們通常使用字符串方法。
謝謝大家的建議。 – user2987894
Class.java
有一個方法#getDeclaredMethods
它返回一個數組,其中包含Method
對象,該對象反映了該類的所有聲明方法。 Method
類繼而具有#getName()
,其返回方法名稱的String
表示。
你很可能真的不想這樣做。相反,爲什麼沒有你正在調用的方法有一個參數,並指出行爲是什麼。例如:
void firstMethod() {
someMethod(true);
}
void secondMethod() {
someMethod(false);
}
void someMethod(boolean fromFirstMethod) {
if (fromFirstMethod) {
// some code...
} else {
// some other code...
}
}
您是否事先知道方法名? – Hackerdarshi
是的,我知道方法名稱本身之前[例如,這裏firstMethod()和secondMethod()] – user2987894
你想知道如果方法**名稱**包含**返回值**的另一種方法?爲什麼在天堂的名字你想要嗎?你可以給我們你的真實世界的用例嗎?爲什麼不使用這個字符串(因爲你在編寫代碼時知道方法名)? –