Set<String> set = new HashSet<>();為什么經常看見這么new對象,有什么優點?跟HashSet<String> set = new HashSet<>();這種方式比較呢?
1 回答

動漫人物
TA貢獻1815條經驗 獲得超10個贊
個人感覺是關注點的問題
對于Set<String> set = new HashSet<>()
這種,實際上Set是一個接口,對于接口來說是不關注這個對象到底是什么,無論是HashSet,TreeSet還是其他的。是面向接口編程思想的體現。
好處是,如果有一天你發現這個位置用HashSet不合適,需要修改為帶有排序功能的TreeSet,或者說需要改為線程安全的CopyOnWriteHashSet,只需要修改創建的方式就可以,不需要修改其他位置的代碼了。
添加回答
舉報
0/150
提交
取消