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

では、従業員の名前、年齢、ID を個別に抽出するにはどうすればよいでしょうか。

4

4 に答える 4

2

Employee オブジェクトをリストに追加し、オブジェクトをリストから直接出力していると思います。toString() メソッドをオーバーライドしないと、Object クラス (すべてのクラスのスーパークラス) の toString() メソッドが呼び出されます。 classname@hashcode(オブジェクトのハッシュコード) を返します。クラスからデータを出力したい場合は、クラスの toString() メソッドをオーバーライドして、必要な形式を返す必要があります。

于 2013-01-13T15:02:18.673 に答える
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 に答える
1

各値を個別に取得するには、いくつかの get メソッドを追加する必要があります

public String getName()
{
  return Name;
}

public int getAge()
{
  return Age;
}

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