2014-01-05 45 views
1

很新的Java語言,我想知道它是否是正確的,可以這樣做:ArrayList是否可以使用返回ArrayList的方法初始化ArrayList?

ArrayList<PeopleDetails> people_SMS = checkbox_SMS(adapter); 

凡checkbox_SMS(適配器)是返回類型的ArrayList的方法。 這是合法的代碼,還是people_SMS arraylist只包含一個指向返回的數組列表的指針?如果我想訪問checkbox_SMS中的數據,我的代碼是否可以工作?

感謝您的幫助!

+0

發佈'checkbox_SMS'。 – Maroun

+0

是的。你可以初始化。 (間接引用ArrayList是從方法返回的... –

+0

這是一個方法,返回 - ArrayList - 這就是所有需要回答的問題...我希望:) –

回答

1

people_SMS arraylist只是一個指向返回的數組列表的指針。如果你想創建一個新的列表,是返回的副本,請使用

ArrayList<PeopleDetails> people_SMS = new ArrayList<>(checkbox_SMS(adapter)); 
+0

謝謝,這是我在找什麼。我只想讀取數組列表的內容,但我認爲這也允許我操縱它們?謝謝!! :) –

1

只要checkbox_SMS返回ArrayList<PeopleDetails>的實例,它就可以工作。

1

我不知道它是否是正確的,可以這樣做:

ArrayList<PeopleDetails> people_SMS = checkbox_SMS(adapter); 

這是一個完全有效的行如果您checkbox_sms方法返回一個ArrayList.。你可以用它更遠

people_SMS arraylist只包含一個指向返回的數組列表的指針嗎?

是的,這是因爲您正在使用返回列表進行初始化。

如果我想訪問checkbox_SMS中的數據,我的代碼是否可以工作?

是的。

確保它在使用前不返回null

1

是的,這是一個有效的代碼。在checkbox_SMS方法中,您應該創建ArrayList<PeopleDetails>的實例並將其返回。

也有可能返回null形式這樣一種方法和代碼也將是有效的。在這種情況下,您應該在使用之前檢查people_SMS是否爲空。