在java中访问列表元素

在java中访问列表元素,java,list,linked-list,Java,List,Linked List,我创建了一个linkedlist对象,如下所示 importBuffer = new BufferedReader(new FileReader(importcsvFile)); while ((line = importBuffer.readLine()) != null) { // use comma as separator String[] importedFile = line.sp

我创建了一个linkedlist对象,如下所示

 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  : java.io.BufferedReader@420dc55b
我认为这是内存引用,但我想检索linkedlist的值

我的选择功能是:

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")));
    }
公共列表选择(字符串codiceAzienda、字符串codiceCliente、字符串indrizzo){
返回jdbcTemplate.query(
“从CodiceAzienda=?”的客户中选择*,
新对象[]{codiceAzienda},
(rs,rowNum)->新客户(rs.getLong(“id”),
rs.getString(“CodiceAzienda”)、rs.getString(“Indrizzo”)、rs.getString(“codice_客户”)、rs.getString(“Indrizzo”);
}

您添加了importBuffer对象的
toString()
值,而不是实际内容。默认的
toString()
实现(每个对象都从…
object
继承)返回
ClassName@HashCode
。所以你的输出没有错,但你的输入是错的

请参见继续并执行:
PublicDefinition.importList.add(importBuffer.readLine())
而不是:
PublicDefinition.importList.add(importBuffer.toString())

因为您正试图输出缓冲读取器的内容,而不是ClassName@Hashcode目录。

替换

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

PublicDefinition.importList.add(导入文件)


您无意中添加了
BufferReader
对象的字符串表示形式,而不是听起来像您的意图的导入文件列表。

您得到了您添加的内容。请发布完整的功能代码。我刚刚重新发布了它。@user2229430您介意将任何建议的答案标记为答案吗