我有一个像这样的Java类:
public class Employee {
String Name;
int Id;
int Age;
void setName(String tempVal) {
Name = tempVal;
System.out.println(Name);
System.out.println("\n");
}
void setId(int parseInt) {
Id = parseInt;
System.out.println(Id);
System.out.println("\n");
}
void setAge(int parseInt) {
Age = parseInt;
System.out.println(Age);
System.out.println("\n");
}
}
现在我想使用SAXParser使用链接中的代码解析employees.xml文件:http://totheriver.com/learn/xml/xmltutorial.html#5.2
问题是当我将tempEmp添加到列表并访问列表以在printData()方法中打印其值时,输出类似于:
No of Employees '3'.
Employee@140de537
Employee@1c43882a
Employee@15a08be5
现在,如何逐个提取员工的姓名,年龄和身份?
答案 0 :(得分:2)
您必须在toString()
类中实现Employee
方法才能正确显示,方法如下:
@Override
public String toString() {
return Id + " " + Name + " " + Age;
}
另外,请记住,在Java中,属性名称应以小写字符开头,而不是大写字母。
答案 1 :(得分:2)
您想添加一些getter方法。
你还应该查看code conventions for Java - 你的一些变量以大写字母开头,不应该这样。
答案 2 :(得分:2)
我猜你正在将Employee对象添加到列表中并直接从list中打印对象。如果你不重写toString()方法,它将调用Object类的toString()方法(所有类的超类),它将返回classname @ hashcode(对象的哈希码)。如果要从类中打印一些数据,则需要覆盖类中的toString()方法并返回所需的格式。
答案 3 :(得分:1)
要单独获取每个值,您需要添加一些get方法
public String getName()
{
return Name;
}
public int getAge()
{
return Age;
}
public int getId()
{
return Id;
}