2017-02-16 5 views
2

Я создал объект LinkedList следующимобращающиеся элементы списка в Java

importBuffer = new BufferedReader(new FileReader(importcsvFile)); 
       while ((line = importBuffer.readLine()) != null) { 

        // use comma as separator 
        String[] importedFile = line.split(cvsSplitBy); //cap,comune,provincia,stato 

        System.out.println("Codice Azienda " + importedFile[0] + " , Codice Cliente=" + importedFile[1] + " , Regione Sociale=" + importedFile[2] + " , Indrizzo=" + importedFile[3] + " , comune=" + importedFile[4] + " , provincia=" + importedFile[5] + " , stato=" + importedFile[6] +"]"); 
        counter++; 
        PublicDefinition.importList.add(importBuffer.toString()); 

        List customers = select.select(importedFile[0],importedFile[1], importedFile[3]); 

        if(!customers.isEmpty()) 
        { 

       System.out.println("selected Customer : " + customers.size()); 
       buffureList = customers; 
       Object a=List.class.cast(customers); 

       PublicDefinition.testingList.add(buffureList.toString()); 

       System.out.println("selected Customer : " + PublicDefinition.importList.get(0)); 
       System.out.println("selected Customer : " + PublicDefinition.testingList.getFirst()); 

       updateCustomer = customers; 
       if(customers.get(0)==importedFile[0]) 
        System.out.println("Matched Codice Azienda"); 
       select.updateTable(importedFile[1], importedFile[3], "10.34", "11.40"); //String CodiceCliente, String indrizzo, String latitude, String longitute   
        } 
       } 

, когда я пытаюсь получить доступ к элементам для LinkedList с помощью

System.out.println("selected Customer : " + PublicDefinition.importList.get(0)); 

Я получил выход:

selected Customer : [email protected] 

Я думаю, что это ссылка на память, но я хочу получить значение связанного списка

моя функция выбора:

public List<Customer> select(String codiceAzienda, String codiceCliente, String indrizzo) { 
     return jdbcTemplate.query(
       "SELECT * FROM customers WHERE CodiceAzienda= ?", 
       new Object[] { codiceAzienda}, 
       (rs, rowNum) -> new Customer(rs.getLong("id"), 
         rs.getString("CodiceAzienda"), rs.getString("Indrizzo"), rs.getString("codice_cliente"), rs.getString("Indrizzo"))); 
    } 
+1

Вы получаете то, что вы добавили. –

+1

Отправьте полный функциональный код. – Tschallacka

+0

Я только что разместил его. – user2229430

ответ

3

Вы добавили значение объекта importBuffer , а не фактическое содержание toString(). Реализация по умолчанию toString() (которую каждый объект наследует от ... Object) возвращает [email protected]. Таким образом, ваш результат не ошибается, но ваш ввод.

См Object.toString() in the javadoc

1

Идите вперед и выполнить:
PublicDefinition.importList.add (importBuffer.readLine());
Вместо:
PublicDefinition.importList.add (importBuffer.toString());

Поскольку вы пытаетесь вывести содержимое буферизованного считывателя вместо содержимого ClassName @ Hashcode.

1

Заменить

PublicDefinition.importList.add(importBuffer.toString());

с

PublicDefinition.importList.add(importedFile);

Вы случайно добавив строковое представление BufferReader объекта, а не список файлов импорта, который звучит как ваше намерение.

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