【问题标题】:Print a List<String> to logcat将 List<String> 打印到 logcat
【发布时间】:2014-03-13 17:07:07
【问题描述】:

我可以看到log.d需要

Log.d(String TAG, String). 

如何向 android debug logcat 打印一个 List String 而不仅仅是一个 String?

【问题讨论】:

  • 我的意思是这是一个严肃的问题。为什么不直接阅读List 的文档,看看有哪些方法可用?你会找到toString()。这比在这里创建问题要快。

标签: java android debugging logcat android-logcat


【解决方案1】:

使用可用于大多数常见数据结构的toString() 方法:

Log.d("list", list.toString());

如果您使用 Java 中定义的 Generic type 声明您的 List/Collection,上述语句将为您提供预期的结果。比如String、Integer、Long等。原因,他们都实现了toString()方法。

客户通用类型:

但是,如果您使用自己的自定义类型声明 List,那么仅调用 list.toString() 将无法获得正确的输出。您需要为您的自定义类型实现toString() 方法以获得预期的输出。

例如:

您有一个名为 Dog 的模型类,如下所示

public class Dog{
   String breed;
   int ageC
   String color; 
}

您使用Dog 类型声明了List

List<Dog> dogList = new ArrayList<Dog>();

现在,如果您想在LogCat 中正确打印此列表,则需要在Dog 类中实现toString() 方法。

public class Dog{
   String breed;
   int age
   String color;

   String toString(){
       return "Breed : " + breed + "\nAge : " + age + "\nColor : " + color;
   } 
}

现在,如果你调用list.toString(),你会得到正确的结果。

【讨论】:

  • 对于 KOTLIN 使用“数据类”。它有 toString() 和所有必要的方法。
【解决方案2】:
if (list != null && list.size() > 0)
                {
                    for (int i = 0; i < list.size(); i++) {
                        mStrp = mStrp + list.get(i).getdataname() + "/";
                        mStrD  = mStrD + list.get(i).getdata2name() + "/";
                    }

                    //if you want to delete last "/"
                mStrp = mStrLatPick.substring(0,mStrLatPick.length() - 1);

                    value = mStrp + mStrD;
                    Log.d("value",value);
                }

【讨论】:

    【解决方案3】:

    如果您想在控制台上打印 Array List 元素。同时添加、删除一个元素。

        ArrayList myFavAnimal = new ArrayList();
    
        myFavAnimal.add("Lion");
        myFavAnimal.add("Tiger");
        myFavAnimal.add("Leopard");
        Log.i("MyTag",myFavAnimal.get(0) +"");
        myFavAnimal.remove(1);
        Log.i("MyTag",myFavAnimal.toString());
        myFavAnimal.remove("Lion");
        Log.i("MyTag",myFavAnimal.toString());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多