2015-10-13 50 views
0

我有一個相當大的和惱人的窩參數類,例如下面的:Eclipse的格式化程序:裹嵌套的ArrayList聲明

HashMap<ExampleClass, ArrayList<ArrayList<ADifferentClass>>> PITA_var = new HashMap<ExampleClass, ArrayList<ArrayList<ADifferentClass>>>(); 

正如你所看到的,宣稱利用變量此嵌套的ArrayList是疼痛,特別是當宣言延伸到屏幕外時。我想有Eclipse(技術上我使用STS)至少可以解決這個問題,但我一直無法確定如何去做。任何幫助?

PS我知道這將是一個簡單的事情來申報額外的類子類這些類型;我已經在某種程度上這樣做了,並且進一步子類化將不實際。

+0

STS符合哪個版本的Eclipse? –

+0

Eclipse平臺版本爲4.5.1,Java開發工具版本爲3.11.1 – Bryant

回答

1

我不使用Eclipse,所以這個答案可能不是你要找的,但這裏有一些提示。

首先,使用接口。這種類型的應該是

Map<ExampleClass, List<List<ADifferentClass>>> 

其次,如果可以的話,升級到Java 7或8。然後,你可以這樣做:

Map<ExampleClass, List<List<ADifferentClass>>> map = new HashMap<>(); 

PS我知道這將是一件簡單的事情宣佈額外繼承這些類型的類;我已經在某種程度上這樣做了,並且進一步子類化將不實際。

不這樣做。使用子類來擺脫類型參數被認爲是反模式。

最後,考慮你的設計是否可以改進。可能有比Map更好的方法,其中值爲List s的List s。

+0

嘿,看看這個。 Eclipse不會抱怨缺少參數化。無論如何,如果這樣做合理,我仍然希望包含可讀性的類型參數。儘管我喜歡界面建議,最近我一直在遷離,所以它甚至沒有出現在我身上。 – Bryant