簡體   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