爲什麼我得到不同的行爲有:的Java中的addAll(集合)對新的ArrayList(集合)
Collection col2 = new ArrayList(col);
Collection col2 = new ArrayList();
col2.addAll(col)
我的工作與觀衆,和代碼是複雜的,我試圖解釋問題的「根源」 。另一個有趣的事實是下一個...
//IF i use this code i have the correct behavior in my app:
public void updateCollection(Collection<Object> col) {
this.objectCollection.clear();
this.objectCollection.addAll(col);
}
//IF i use this code i have unexpected behavior in my app:
public void updateCollection(Collection<Object> col) {
this.objectCollection=new ArrayList(col);
}
請澄清一下,哪種確切的行爲令您感到困惑? – 2010-11-21 15:36:44
我的代碼使用a)或b)有不同的行爲。在我看來,這兩次行動都會導致相同的結果,但顯然他們沒有。有些不同。 – marcolopes 2010-11-21 15:55:02
你還是太模糊。怎麼了?不會發生什麼?請在您的環境中發佈[SSCCE](http://sscce.org)以及(未)預期結果。 – BalusC 2010-11-21 15:56:05