1

我有一个这样的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

现在,如何分别提取员工的姓名、年龄和身份证?

4

4 回答 4

2

您必须在类中实现一个toString()方法Employee才能正确显示它,如下所示:

@Override
public String toString() {
    return Id + " " + Name + " " + Age;
}

另外,请记住,在 Java 中,属性名称应该以小写字符开头,而不是大写。

于 2013-01-13T14:54:50.677 回答
2

您想添加一些 getter 方法。

您还应该查看Java 的代码约定- 您的一些变量不应该以大写字母开头。

于 2013-01-13T14:56:16.657 回答
2

我猜您正在将 Employee 对象添加到列表中并直接从列表中打印对象。如果您不重写 toString() 方法,它将调用 Object 类(所有类的超类)的 toString() 方法,这将是返回类名@hashcode(对象的哈希码)。如果要从类中打印一些数据,则需要覆盖类中的 toString() 方法并返回所需的格式。

于 2013-01-13T15:02:18.673 回答
1

要单独获取每个值,您需要添加一些 get 方法

public String getName()
{
  return Name;
}

public int getAge()
{
  return Age;
}

public int getId()
{
  return Id;
}
于 2013-01-13T15:05:46.777 回答