如何在对象数组中打印数组

时间:2015-05-02 22:03:15

标签: java arrays inheritance

所以,我在Hospital类中有一个名为Hospital的类和一个名为InsertFolders的方法。 在方法内部,用户必须填写一个数组(最多5个)的考试(我创建了一个名为Folders的类,其中我有set和get方法)。 现在我创建了另一个名为print的方法,我想打印这个数组。 请注意,有一个包含文件夹的对象数组。 ListOfFolders [i] .getNameOfFolder(例如,这是文件夹名称的字段)。 有没有办法可以打印阵列? 例如,当我尝试ListOfFolders [i] .getArrayOfExaminations()时,它不会打印预期的考试。

2 个答案:

答案 0 :(得分:4)

只需覆盖toString功能,如:

public class Person{
   private int id;
   private String firstName;
   private String lasrName;
   .
   .

   public Person(){
       this.id = 1;
       this.firstName = "First Name";
       this.lastName = "Last Name";
   }

   public String toString(){
       String str = "";

       str += "Person Info: \n";
       str += "Id : " + id + "\n";
       str += "First Name : " + firstName + "\n";
       str += "Last Name : " + lastName + "\n";
       ....

       return str;
   }   

}

如果您愿意与我们分享您的代码,我会更好地实现它,但这是个主意。

<强>用法:

List<YourClass> list = new ArrayList<YourClass>();
list.add(new Person());

for (YourClass item : list){
      System.out.println(item);  //here it will automaticly use the overridden toString in your class
}

<强>输出:

Person Info:
Id: 1
First Name
Last Name

答案 1 :(得分:0)

默认情况下,打印对象会将参考(〜地址)打印到它。您需要覆盖对象的toString()方法,以使其打印正确的值。

如果这是Java中的默认数组,则可以使用for(item:array)语法循环遍历数组中的对象。