どうすれば ArrayList を使用して toString() を格納できますか。最後に toString を持つクラスがあり、toString をクラスから ArrayList に格納する必要があります。
このように: 音楽名、作者、リリース年、現在再生中の String 、 String 、 int 、 boolean
どうすれば ArrayList を使用して toString() を格納できますか。最後に toString を持つクラスがあり、toString をクラスから ArrayList に格納する必要があります。
このように: 音楽名、作者、リリース年、現在再生中の String 、 String 、 int 、 boolean
toString()
特定のクラスのメソッドでテキストを適切にフォーマットしていることを願って、
使用します
List<String> listDesired = new ArrayList<String>( 10 );
listDesired.add( myMusicDataClassInstance.toString() );
質問は不明ですが、オブジェクトに既に toString() メソッドが定義されている場合は、それらを配列リストに個別に保存する必要はありません。オブジェクトをarrayListに追加して実行するだけですCollections.toString(yourList)
;
anが nullの場合"" + x
に回避するために、トリックを使用できます。NullPointerException
x
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
(ただし、空の文字列リテラルが表示される可能性があるため、コンパイラがインスタンス化を回避する可能性は十分にあります)。
List<String> listDesired = new ArrayList<String>( 10 );
toString()
そのクラスの をオーバーライドし、その文字列をオブジェクトtoString()
に変換するビジネス ロジックをメソッドで定義する必要があります。ArrayList