看看這個代碼 -爪哇 - 避免switch語句的靜態函數
switch(kind) {
case "green" :
GreenKind.doSomething(); // Static function
break;
case "white" :
WhiteKind.doSomething(); // Static function
break;
case "blue" :
BlueKind.doSomething(); // Static function
break;
case "yellow" :
YellowKind.doSomething(); // Static function
break;
}
有一種方法,以避免switch語句?因爲它聞起來真的很糟糕。
也許這樣的事? -
kinds.get(kind).doSomething();
與我的解決方案的問題是這些功能是靜態的,我無法實現與靜態函數的接口。如果你不明白我爲什麼寫它的接口,因爲我想在上面的解決方案中使用多態。
聽起來像你應該有一個枚舉,而不是那些靜態方法... –