2016-08-11 70 views
0

有時候,我結束了太多的泛型類型是否有可能在Java中使用泛型類型來分解類?

class C<T1, T2, T2, T3, T4, T5> { 
... 
} 

是否有打破這種模式的總體戰略寫一些類?

+1

是的,這就是所謂的分解。你如何分解取決於你的軟件的要求。對於我們所知道的,您可能甚至不需要其中的一些泛型類型參數。你應該給出更多關於你的情況的背景 –

+0

這裏有一個線索:_你說它有太多的類型參數。如果_you_認爲你剛寫完的一個類 - 在你的腦海裏還是新鮮的 - 有太多的類型參數,太多的方法,太多的實例變量,太多的狀態,太多的代碼行等等,那麼它可能有_waaaaay_太多的東西_else_想要閱讀它。 –

回答

0

創建備用的一組類:你在哪裏使用CC1<T1>C2<T2>C3<T3, T4>

在不同的地方,你最終會提到這些類的個別子。相反的:

C<String, Integer, Whatever, Thing, ...> x; 

你必須:

C1<String> x; 
C2<Integer> y; 
C3<Whatever, Thing> z; 

與許多類型參數類是最有可能的一個god class/object的例子。

+0

儘管我同意你的回答,但我認爲你需要在這裏給出更多的解釋。泛型允許方法簽名更改您的解決方案不適用的方法簽名。例如,OP可能需要'getX'方法,並需要知道它的簽名。 – sprinter

相關問題