从arraylist java获取值?

时间:2013-10-05 11:24:22

标签: java arraylist

我有以下课程

   public class Patient implements Serializable {

  private int id;

  private String name;

  private String desc;
    public Patient(int id, String name, String desc) {

    this.id = id;
    this.name = name;
    this.desc=desc;
    }

然后在这个类中使用以下getter和setter方法。

声明arraylist

  ArrayList<Patient> list = new ArrayList<Patient>();

在列表中添加运行时数据

   list.add(new Patient(id++, name.getText(), disDesc.getText())

现在我希望读取列表中存储的元素 我怎么能这样做?

    System.out.println(list.get(0));

我使用它但它返回类的对象地址

2 个答案:

答案 0 :(得分:6)

您必须覆盖toString()的{​​{1}}方法。在那里,您将返回有关要显示的Patient对象的所有信息。

示例:(我个人最喜欢的)

Patient

示例2:

 private static final String SEPARATOR = ", ";

 @Override
 public String toString()
 {
      StringBuilder builder = new StringBuilder();

      builder.append("ID: ").append(id).append(SEPARATOR);
      builder.append("Name: ").append(name).append(SEPARATOR);
      builder.append("Desc: ").append(desc);

      return builder.toString();
 }

示例3:

 @Override
 public String toString()
 {
      return "ID: " + id + ", Name: " + name + ", Desc: " + desc;
 }

使用任何一个。这是一个偏好的问题。

答案 1 :(得分:2)

你必须施放元素

((Patient) list.get(0)).getName();

您必须在Patient课程中添加公开的getter方法。