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

您可以使用该"" + 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(尽管编译器很有可能会避免这种情况,因为它可以看到空字符串文字)。

于 2012-05-06T12:38:34.133 回答
1

问题尚不清楚,但如果您的对象已经定义了 toString() 方法,则不需要将它们单独存储在数组列表中。只需将对象添加到 arrayList 并执行Collections.toString(yourList)

于 2012-05-06T13:08:22.330 回答
0

您应该覆盖toString()该类并在toString()方法中定义将该字符串转换为ArrayList对象的业务逻辑。

于 2012-05-06T12:58:55.403 回答
0
List<String> listDesired = new ArrayList<String>( 10 );
于 2012-05-06T14:15:47.743 回答