簡體   English   中英

ArrayList和toString

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM