从arraylist java获取值?
我有以下课程从arraylist java获取值?,java,arraylist,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; } 然后是
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>();
现在,我想要读取列表中存储的元素
我该怎么做
System.out.println(list.get(0));
我使用它,但它返回类的对象地址您必须重写
Patient
的toString()
方法。在那里,您将返回要显示的患者
对象的所有信息
示例:(我个人最喜欢的)
例2:
例3:
使用任何一个。这是一个偏好的问题。你必须铸造元素
((Patient) list.get(0)).getName();
您必须向
Patient
类添加公共getter方法 为什么不直接使用:返回“ID:+ID+”| Name:+Name+| Desc:+Desc代码>?更简单易读,同样高效。或者,使用String.format
@JonSkeet据我所知,StringBuilder
比串联字符串更有效。我错了吗?我已经养成了使用StringBuilder
的习惯。我喜欢你的个人爱好我相信一切都在一个命令上那么java是聪明的并且在幕后使用stringbuolderanyway@RichardTingle对于SO问题来说,这确实是一个好主意。大多数IDE,如Eclipse和IntelliJ,都能够自动生成类的toString重写。我会用这些,至少作为一个模板。
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();
}
@Override
public String toString()
{
return "ID: " + id + ", Name: " + name + ", Desc: " + desc;
}
@Override
public String toString()
{
return MessageFormat.format("ID: {0}, Name: {1}, Desc: {2}", id, name, desc);
}
((Patient) list.get(0)).getName();