java 如何在控制台中打印数组列表内容

r6l8ljro  于 2022-12-21  发布在  Java
关注(0)|答案(2)|浏览(272)
SearchRequest searchRequest =  SearchRequest.of(s -> s.index("products").query(q -> q.multiMatch(
         t -> t .fields("description","name").query(text)))
         );
       SearchResponse searchResponse =  elasticsearchClient.search(searchRequest, Product.class);
       List<Hit> hits = searchResponse.hits().hits();
       List<Product> products = new ArrayList<>();
       for(Hit object : hits){
           System.out.print(((Product) object.source()));
           System.out.println(products.toString());
           products.add((Product) object.source()); 
           
           }
   
       return products;

我想打印“产品”在我的控制台
我试过了。系统输出打印输入(产品输出字符串());但它只显示了一个参考编号@6ae9453[]我想显示“产品”内的内容

6gpjuf90

6gpjuf901#

解决这个问题的一个方法是在Product类中添加一个toString()方法,如果Product有两个属性,titleprice,那么toString()可能类似于

public String toString(){ 
   return title=" + getTitle() + ", price=" + getPrice()
 }

许多IDE都支持生成toString()方法。请参见f.x. https://www.jetbrains.com/help/idea/generate-tostring-dialog.html

k97glaaz

k97glaaz2#

使用Arrays.toString(products)将数组内容转换为String
https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#toString(java.lang.Object[])

相关问题