2014-01-21 59 views
0

是如果用戶向控制檯輸入方法時返回方法的方法嗎?目前,我有一個問題,我需要用戶鍵入方法名稱,然後發生方法,但由於方法是如何混亂,它將不得不是一個巨大的if語句或多重陣列列表如果有答案返回不是一種方式。有沒有辦法使system.in命令不是以字符串形式或int形式返回,而是以計算機將其作爲普通方法調用的方式讀取它?如何在將值輸入控制檯時返回指定的getter值? - java

+1

有一個巨大的OOP方式,可能會涉及擴展'Callable'並且有一個大的'HashMap'(或工廠)等等,然後就會有反射。挑一個:) –

回答

1

您可以使用reflection按名稱調用方法。作爲簡單的解決方案,您可以通過每個用戶請求的反思調用方法作爲改進,您可以使用反射在啓動時構建某種註冊表方法。

+0

是的,他可以 - 但這是不好的做法! – alfasin

+0

@alfasin所以你有更好的主意嗎? –

+0

如果它在任何地方都使用,這是不好的做法。但在一些簡單的情況下,這可能是一個好的解決方案 –