我想问一下,如何使用 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() );
您可以使用该"" + x
技巧以避免NullPointerException
在 anx
为空的情况下:
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
(尽管编译器很有可能会避免这种情况,因为它可以看到空字符串文字)。
问题尚不清楚,但如果您的对象已经定义了 toString() 方法,则不需要将它们单独存储在数组列表中。只需将对象添加到 arrayList 并执行Collections.toString(yourList)
;
您应该覆盖toString()
该类并在toString()
方法中定义将该字符串转换为ArrayList
对象的业务逻辑。
List<String> listDesired = new ArrayList<String>( 10 );