【问题标题】:ArrayList Own type to String?ArrayList 自己的类型为String?
【发布时间】:2013-08-16 09:30:24
【问题描述】:

您好,我如何将 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 我该怎么做?感谢您的帮助。

【问题讨论】:

  • HerniObekt 是什么样的?您想从每个对象中获取哪个字符串?最后,您尝试了什么?
  • HenriObject 是一个类,其中所有其他类(如 NPC)从中抽象出 HerniObject 类:package javagame; import java.awt.Graphics; public abstract class HerniObjekt { int y; int x; int smerx; int smery; int rychlost; public abstract void krok(); public abstract void vykresli(Graphics g); },我尝试了 HenriObject.toString

标签: java string arraylist


【解决方案1】:

您需要通过遍历数组并将每个元素添加到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");

在任何一种情况下 you should override toString() 在您的 HerniObjekt 类中

【讨论】:

  • 我是 Java 新手,我该怎么做?对不起
【解决方案2】:

在你的 HerniObjekt 类中,你可以重写 public String toString(){} 方法,让它返回你想要输出的字符串

【讨论】:

    【解决方案3】:

    覆盖 HerniObject 中的 toString() 方法,然后将 foreach 添加到数组列表中。

    【讨论】:

      【解决方案4】:

      对于列表,您也可以使用 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()

      【讨论】:

        【解决方案5】:

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

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

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

        【讨论】:

          【解决方案6】:
           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());
          

          【讨论】:

            猜你喜欢
            • 2011-06-14
            • 1970-01-01
            • 1970-01-01
            • 2014-09-27
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-07-17
            相关资源
            最近更新 更多