【问题标题】:Convert List<Object> to singular String for debugging purposes [closed]将 List<Object> 转换为单数字符串以进行调试 [关闭]
【发布时间】:2015-03-19 08:24:56
【问题描述】:

实体MyObject 具有以下属性:

private String tblName;
private String colName;
private String dataType;

我有一个列表:List&lt;MyObject&gt;。现在我需要将此列表转换为单数字符串以进行调试,例如:

Object 1: (dataType=test, colName=test2, dataType=int), Object 2..."

最好的方法是什么?

【问题讨论】:

  • 你在这里问什么是无法理解的。
  • 您可以覆盖 MyObject 上的 toString 方法并返回 (dataType=test, colName=test2, dataType=int) 以获取您需要迭代集合的数组列表并调用 myObject.toString
  • 这个问题绝对不会太破。那些投反对票的人,请重新考虑,以便让回答过程展开并让互联网变得更美好。

标签: java string list


【解决方案1】:

您可以覆盖MyObject 上的toString 方法,如下所示

 public class MyObject
 {
   private String tblName;
   private String colName;
   private String dataType;

   public String getTblName()
   {
     return tblName;
   }

   public void setTblName(String tblName)
   {
     this.tblName = tblName;
   }

   public String getColName()
   {
     return colName;
   }

   public void setColName(String colName)
   {
     this.colName = colName;
   }

   public String getDataType()
   {
     return dataType;
   }

   public void setDataType(String dataType)
   {
     this.dataType = dataType;
   }

   public String toString()
   {
     return String.format("(tblName=%s, colName=%s, dataType=%s)", tblName, colName, dataType);
   }
 }

对于您的ArrayList,您需要迭代列表并构建您的结果

   public static void main(String[] args)
   {
     ArrayList<MyObject> objectList = new ArrayList<MyObject>();
     MyObject obj1 = new MyObject();
     obj1.setColName("Col1");
     obj1.setTblName("Tab1");
     obj1.setDataType("data1");

     MyObject obj2 = new MyObject();
     obj2.setColName("Col1");
     obj2.setTblName("Tab1");
     obj2.setDataType("data1");

     objectList.add(obj1);
     objectList.add(obj2);

     StringBuilder stringBuilder = new StringBuilder();

     int count = 1;
     for (MyObject myObject : objectList)
     {
       stringBuilder.append(String.format("Object %d %s ", count, myObject.toString()));
       count++;
     }
     System.out.println(stringBuilder.toString());
   }

【讨论】:

    猜你喜欢
    • 2013-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多