繁体   English   中英

如何在我的logcat中打印arraylist内容的值?

[英]How to print the value of arraylist contents in my logcat?

我的问题是如何在logcat中打印打印arraylist内容的值? 每个数组都有两个字符串。我是否必须先将其更改为数组?

以下是我的学校课:

         public class SCHOOL {

private String schoolid;
private String schoolname;
private List<STUDENT> students = new ArrayList<>();

// getters and setters for schoolid, schoolname

public String getSchoolid() {
    return schoolid;
}
public void setSchoolid(String schoolid) {
    this.schoolid = schoolid;
}

public String getSchoolname() {
    return schoolname;
}
public void setSchoolname(String schoolname) {
    this.schoolname = schoolname;
}


public void setStudents(List<STUDENT> students) {
    this.students = students;
}


public List<STUDENT> getStudents() {return this.students;}


public void addStudent(String names, String age) {
    STUDENT student = new STUDENT();
    student.setNames(names);
    student.setAge(age);
    students.add(student);
   }

以下是我的学生课:公共课学生{

        private String names;
        private String age;

        public String getNames() {
            return names;
        }

       public void setNames(String names) {
            this.names = names;
        }

        public String getAge() {
            return age;
        }

        public void setAge(String age) {
           this.age = age;
     }
   }

以下是我的主要活动:

 ...

    SCHOOL school = new SCHOOL();

    school.addStudent("kent", "43");
    school.addStudent("Winnie", "42");
    school.addStudent("Dennis", "41");

    List<STUDENT> studentsList = school.getStudents();
    Log.d(tag, String.valueOf(studentsList));
    ...

结果如下:

    Tag Activity: [com.example.spidey.jsontosql.STUDENT@5286b6d8,    
                   com.example.spidey.jsontosql.STUDENT@5286b768, 
                   com.example.spidey.jsontosql.STUDENT@5286b7b0]

覆盖类STUDENT方法toString() 例如:

public class STUDENT {

        String names;
        String age;

        @Override
        public String toString() {
            return "STUDENT{" +
                    "names='" + names + '\'' +
                    ", age='" + age + '\'' +
                    '}';
        }
    }

您可以编写用于自定义输出的输出方法,例如:

    public String outputStudents(List<STUDENT> studentsList) {
       StringBuilder sb = new StringBuilder();
       foreach (STUDENT student: studentLIst) {
               sb.append(student.names);
               sb.append(",");
               sb.append(student.age);
               sb.append(";");
       }
       return sb;
    }

并使用以下代码调用此函数:

 List<STUDENT> studentsList = school.getStudents();
 Log.d(tag, outputStudents(studentsList));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM