2013-08-09 2 views
4

Когда я запускаю свою программу, она дает мне ссылку на объект, а я хочу получить контент. Где моя ошибка?Как распечатать содержимое объекта

Я думаю, проблема лежит в storage.addRecord(record) в ReaderXls.class.

Результат:

Reading is over 
Start reading from Storage 
[email protected] 

.

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); 
    } 
} 
+0

возможно получить (0) или управлять итератором в списке. –

+0

nevermind, у меня около 40 элементов на складе. вопрос нет об этом. – Eldar

+0

Объекты не содержат ничего, кроме примитивов и базовых объектов, и они гораздо более вероятны для * ссылки * на объекты, а не на классы. – EJP

ответ

7

Вы должны реализовать метод toString в Record классе возвращает строку, содержащую данные, которые вы хотите отобразить.

по умолчанию, так как ваш класс не реализует toString, Object.toString() получает, который возвращает <the name of the class>@<the object's hashcode>

4

Вам необходимо переопределить метод toString внутри Record класса, чтобы получить содержимое объекта. It Возвращает строковое представление объекта.

Если вы хотите представить любой объект в виде строки, то появляется метод toString() . Метод toString() возвращает строку представление объекта. Если вы печатаете какой-либо объект, java-компилятор внутренне вызывает метод toString() объекта. Таким образом, переопределяя метод toString(), возвращает желаемый результат, это может быть состояние объекта и т. Д. Зависит от вашей реализации.

Узнать больше о реализации от here.

Смежные вопросы