可能重複:
List versus ArrayList variable type?'Set = new HashSet'或'HashSet = new Hashset'?
我intialising一個HashSet
像這樣在我的計劃:
Set<String> namesFilter = new HashSet<String>();
這是在功能上,如果我initilise像任何不同所以?
HashSet<String> namesFilter = new HashSet<String>();
我讀過關於this集合接口,和我(在這裏很好,除了他們使用)理解接口。我讀過Effective Java的excerpt,我讀過這個SO question,但我覺得沒有比這更聰明。
在Java中是否有最佳實踐,如果有,爲什麼?我的直覺是,在我的第一個例子中,它使鑄造到一個不同類型的Set
更容易。但是,再一次,你只能投射到某個集合,然後你可以通過重構它來轉換它。
我更喜歡使用界面。如果你已經知道所有的論點,那麼問題是什麼?有什麼問題? – duffymo
請參見[編程接口的含義是什麼?](http://stackoverflow.com/questions/383947/what-does-it-mean-to-program-to-an-interface) – Jesper
@duffymo我聽到了這些論點,但他們並沒有幫助我理解。然而,這裏的答案和提議的複製中的答案是有意義的。 – Pureferret