[英]ArrayList and toString
我想問一下,如何使用ArrayList存儲toString()。 我有一個類,結尾處是toString,我必須將toString從該類存儲到ArrayList中。
像這樣:音樂名稱,作者,發行年份,當前正在播放String,String,int,boolean
希望您在特定類的toString()
方法中具有正確格式的文本,
采用
List<String> listDesired = new ArrayList<String>( 10 );
listDesired.add( myMusicDataClassInstance.toString() );
您可以使用"" + x
技巧來避免x
為null時出現NullPointerException
:
public List<String> musicToString(List<Music> musicList) {
final List<String> strings = new ArrayList<String>();
for (Music m : musicList) strings.add("" + m);
return strings;
}
之所以String.valueOf
,是因為串聯運算符+
在所有引用類型的操作數上隱式調用String.valueOf
。
如果這是您的審美喜好,則也可以顯式編寫String.valueOf
。 它也具有絕對不實例化StringBuilder
的邊際好處(盡管很有可能編譯器會避免這樣做,因為它可以看到空字符串文字)。
問題尚不清楚,但是如果您的對象已經定義了toString()方法,則無需將其單獨存儲在數組列表中。 只需將對象添加到arrayList並執行Collections.toString(yourList)
;
您應該重寫該類的toString()
,並在toString()
方法中定義將該字符串轉換為ArrayList
對象的業務邏輯。
List<String> listDesired = new ArrayList<String>( 10 );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.