我想问一下,我如何使用ArrayList来存储toString()。我有一个类,最后有一个toString,我必须将类中的toString存储到ArrayList中。
像这样:音乐名称,作者,发行年份,正在播放 String,String,int,boolean
答案 0 :(得分:2)
希望您在特定班级toString()
方法中使用格式正确的文字,
使用
List<String> listDesired = new ArrayList<String>( 10 );
listDesired.add( myMusicDataClassInstance.toString() );
答案 1 :(得分:1)
您可以使用"" + 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
。它还有一个边际好处,绝对不能实例化StringBuilder
(尽管编译器很可能会避免这种情况,因为它可以看到空字符串文字)。
答案 2 :(得分:1)
问题不清楚,但是如果您的对象已经定义了toString()方法,则不需要将它们分别存储在数组列表中。只需将对象添加到arrayList并执行Collections.toString(yourList)
;
答案 3 :(得分:0)
您应该覆盖该类的toString()
,并在toString()
方法中定义将该字符串转换为ArrayList
对象的业务逻辑。
答案 4 :(得分:0)
List<String> listDesired = new ArrayList<String>( 10 );