0

次のコードは、xmlファイルからデータをフェッチするために記述されています。私はそれがフェッチするが、オブジェクト形式であると思います。何故ですか ?

package newpackage;

import java.io.File;
import java.util.Iterator;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import java.util.LinkedList;

public class xmlParser {


private DocumentBuilder db;
private DocumentBuilderFactory dbf;
private Document dom;
private LinkedList list = new LinkedList();

public static void main(String args[]) {
    xmlParser o = new xmlParser();
    o.parseXML();
    o.parseDocument();
    o.print();
}

public void parseXML() { // getting a document builder
    try {
        dbf = DocumentBuilderFactory.newInstance();
        db = dbf.newDocumentBuilder();
        dom = db.parse(new File("Details.xml"));
    } catch(Exception exc) {
        exc.printStackTrace();
    }
}

public void parseDocument() { // get a list of student elements
    Element docEle = dom.getDocumentElement();
    NodeList nl = docEle.getElementsByTagName("Details");
    if(nl != null && nl.getLength() > 0) {
        for(int i=0;i<nl.getLength();i++) {
            Element el = (Element)nl.item(i);
           Details details = new Details();
           details = details.getDetail(el);
           list.add(details);
        }
    }
}

public void print() {
 //        list.iterator();
 //        while(!list.isEmpty()) {
 //            System.out.println(list.pop().toString());
 //        }

      Iterator it = list.iterator();
      while(it.hasNext()) {
          System.out.println(it.next().toString());
      }

  }    
}

出力:

newpackage.Details@1ac3c08
newpackage.Details@9971ad
newpackage.Details@1f630dc
newpackage.Details@1c5c1

適用した後でも、オブジェクト形式で出力を取得するのはなぜtoStringですか?

4

2 に答える 2

1

読み取り可能な出力が必要な場合は、newpackage.DetailsクラスのtoString()メソッドをオーバーライドする必要があります;)

于 2012-05-24T07:09:11.670 に答える
0

toStringを適用した後でも、オブジェクト形式で出力を取得するのはなぜですか?

そのクラスtoString()のメソッドをオーバーライドしなかったためDetails

于 2012-05-24T07:08:25.727 に答える