1

你好我如何将一个ArrayList<>东西转换为字符串我会告诉你我的代码我真的很不擅长解释东西对不起:

ArrayList<HerniObjekt> batoh = new ArrayList<>();

public void pridej(HerniObjekt objekt)
{
    batoh.add(objekt);
}

public void vypis()
{
    JOptionPane.showMessageDialog(null, "Mas v Inevtari "+batoh.);
}

我想将 HerniObject 转换为 String 我该怎么做?谢谢你的帮助。

4

6 回答 6

3

您需要通过遍历数组并将每个元素添加到StringBuilder

例如,不指定分隔符....

StringBuilder sb = new StringBuilder();
for (HerniObjekt h : batoh) {
   sb.append(h);
}

或者,Guava 有一个Joiner类。

Joiner joiner = Joiner.on("; ").skipNulls();
 . . .
return joiner.join("Harry", null, "Ron", "Hermione");

在任何一种情况下,您都应该在您的班级中覆盖 toString()HerniObjekt

于 2013-08-16T09:32:07.623 回答
0

获取HerniObjekt列表对象并将其分配给 HerniObjekt 对象for-each loop

IE

StringBuilder strBuilder = new StringBuilder();
for(HerniObjekt herni : batoh){
  strBuilder.append(herni);
}

HerniObjekt 对象值附加到上面显示的 StringBuilder 对象。

于 2013-08-16T09:33:56.837 回答
0

在您的 HerniObjekt 类中,您可以覆盖该方法public String toString(){},以便它返回您想要在 String 中输出的内容

于 2013-08-16T09:35:25.370 回答
0

覆盖 HerniObject 中的 toString() 方法,然后将 foreach 添加到 arraylist。

于 2013-08-16T09:35:55.690 回答
0

对于列表,您也可以使用 HTML 标记。

StringBuilder sb = new StringBuilder();
sb.append("<html><p>Mas v Inevtari</p><ul>");
for (HerniObjekt herni : batoh) {
    sb.append("<li>").append(herni).append("</li>");
}
sb.append("</ul>");

JOptionPane.showMessageDialog(null, sb.toString());

以上append(herni)将使用toString().

于 2013-08-16T09:36:12.703 回答
0
 class HerniObjekt{
      int id;

      @Override // Override  this method with meaningful
      public String toString() {
           return "Id=" + this.id ;
      }
}

ArrayList<HerniObjekt> batoh = new ArrayList<>();
StringBuilder strBuilder = new StringBuilder();
for (HerniObjekt object: batoh ) {
    strBuilder.append(object.toString());
}

System.out.println(strBuilder.toString());

or

System.out.println(batoh.toString());
于 2013-08-16T09:41:09.177 回答