4

当我启动我的程序时,它给了我一个对象的链接,而我想获取内容。我的错在哪里?

我认为问题出storage.addRecord(record)ReaderXls.class.

结果:

 Reading is over 
 Start reading from Storage
 work2obj.Record@2910d926

.

  public class Start {
            public static void main(String[] args) {
                System.out.println("Start reading from Xls");
                ReaderXls read = new ReaderXls();
                Storage storage;
                storage = read.ReadXls("Text1obj",0,1);
                System.out.println("Reading is over");
                System.out.println("Start reading from Storage");
                System.out.println(storage.getRecord(1));
            }
        }

.

  public class Storage
    {
        List<Record> record;
        public Storage(){
            this.record = new ArrayList<Record>();
        }

.

  public Record getRecord(int number){
            return this.record.get(number);
        }    
      }

.

  public class ReaderXls {
  public Storage ReadXls(String sfilename,int firstColumn, int lastColumn){
            Storage storage = new Storage();
            try {      
  Record record = new Record(j, Integer.parseInt(ContentCount), RowContent);
                    storage.addRecord(record);
  }
 }
4

2 回答 2

7

您应该toString在类中实现该方法Record以返回一个包含您要显示的数据的字符串。

默认情况下,由于你的类没有实现toStringObject.toString()被调用,它返回<the name of the class>@<the object's hashcode>

于 2013-08-09T08:16:14.880 回答
4

您需要在类中重写toString方法Record以获取对象的内容。它返回对象的字符串表示形式。

如果您想将任何对象表示为字符串,则 toString() 方法应运而生。toString() 方法返回对象的字符串表示形式。如果您打印任何对象,java 编译器会在内部调用该对象的 toString() 方法。因此,覆盖 toString() 方法,返回所需的输出,它可以是对象的状态等,取决于您的实现。

从这里阅读更多关于它的实现。

于 2013-08-09T08:23:25.297 回答