我正在寫一個Java應用程序接收Json編碼的對象時,當我解碼它回到一個對象我需要執行適當的相關對象的相關函數。執行功能的對象類型,而不是使用if else else else
我有50個對象和每個對象我需要執行一個函數並將該對象傳遞給該函數。這意味着我的代碼中有50個if else
語句。
我使用google-gson將json字符串解碼回對象。
Gson gson = new Gson();
Packet packet = (Packet) gson.fromJson(msg, cls);
,然後我有
if (packet instanceof FooVO) {
func1(packet);
} else if (packet instanceof BarVO) {
func2(packet);
}
...
等等...
現在我不是在Java中,所以我不知道該專家有什麼辦法,如果縮短這些/ else語句,並以某種方式創建一個類,它的功能是基於對象類型並根據返回的對象類型調用函數?
任何方法,將保存我使用,如果其他很多次在我的代碼!
謝謝!
數據包是一個抽象類,所有其他類從它繼承 – ufk
哎呀是啊它的包 – ufk