0

どうすれば ArrayList を使用して toString() を格納できますか。最後に toString を持つクラスがあり、toString をクラスから ArrayList に格納する必要があります。

このように: 音楽名、作者、リリース年、現在再生中の String 、 String 、 int 、 boolean

4

5 に答える 5

2

toString()特定のクラスのメソッドでテキストを適切にフォーマットしていることを願って、
使用します

List<String> listDesired = new ArrayList<String>( 10 );
listDesired.add( myMusicDataClassInstance.toString() );
于 2012-05-06T12:41:32.040 に答える
1

質問は不明ですが、オブジェクトに既に toString() メソッドが定義されている場合は、それらを配列リストに個別に保存する必要はありません。オブジェクトをarrayListに追加して実行するだけですCollections.toString(yourList);

于 2012-05-06T13:08:22.330 に答える
1

anが nullの場合"" + xに回避するために、トリックを使用できます。NullPointerExceptionx

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それが美的好みである場合は、明示的に書くこともできます。また、 a をインスタンス化しないというわずかな利点もありますStringBuilder(ただし、空の文字列リテラルが表示される可能性があるため、コンパイラがインスタンス化を回避する可能性は十分にあります)。

于 2012-05-06T12:38:34.133 に答える
0
List<String> listDesired = new ArrayList<String>( 10 );
于 2012-05-06T14:15:47.743 に答える
0

toString()そのクラスの をオーバーライドし、その文字列をオブジェクトtoString()に変換するビジネス ロジックをメソッドで定義する必要があります。ArrayList

于 2012-05-06T12:58:55.403 に答える