当前位置: 首页 > 知识库问答 >
问题:

如何返回相应的项目作为一个数组在java[重复]

司马高明
2023-03-14

在下面的代码中,我试图实现getItemByManufacturer方法,该方法应该返回我们测试的制造商的项目数组。我曾尝试获取特定制造商的项目数组,但哈希代码正在打印。为什么呢?我也重写了toString方法。任何帮助都将不胜感激。

public class Item{
    
    private long serialNumber;
    private String itemName;
    String manufacturer;
    private int warrantyDays;
    private double rating;

Item( String itemName,String manufacturer,long serialNumber,double rating){
        this.serialNumber = serialNumber;
        this.itemName = itemName;
        this.manufacturer = manufacturer;
        this.rating = rating;
    }
    public String toString(){
        return itemName +"\t"+manufacturer+"\t\t"+serialNumber+"\t"+rating;
    }


    public static Item[] getItemByManufacturer(Item[] items, String manufacturer){

        boolean found = false;
        for(int i =0; i< items.length;i++){
            if( items[i].manufacturer == manufacturer){
                found = true;
                return items;
            }
        
            }
            if(found){
                System.out.println("Invalid Input");
            }
                return null;
            }

public class Driver{
    
    public static void main(String[] args){
        
        Item[] item = new Item[5];
        item[0] = new Item("Watch","Dorond",23945357,6.5);
        item[1] = new Item("Sunglass","Niko",13945357,6.5);
        item[2] = new Item("Blender","Decker",33945357,6.5);
        item[3] = new Item("Bottle","Decker",43945357,6.5);
        item[4] = new Item("Bag","WTravel",53965307,6.5);
        
    
   **System.out.println((Item.getItemByManufacturer(item,"Decker")));**
       
       
       
      
        
       }

}

共有1个答案

姬承教
2023-03-14

这是因为数组不必使用toString方法,所以在打印它们时可以得到hashcode。打印它们的一种方法是只使用内部java数组。toString

System.out.println(Arrays.toString(Item.getItemByManufacturer(item,"Decker"));

或者通过将数组转换为带有数组的列表。asList

System.out.println(Arrays.asList(Item.getItemByManufacturer(item,"Decker"));
 类似资料:
  • 本文向大家介绍从数组数组中返回一个数组,其中每个项目是JavaScript中相应子数组中所有项目的总和,包括了从数组数组中返回一个数组,其中每个项目是JavaScript中相应子数组中所有项目的总和的使用技巧和注意事项,需要的朋友参考一下 给定一个数组数组,每个数组包含一组数字。我们必须编写一个返回数组的函数,其中每个项目都是相应子数组中所有项目的总和。 例如- 如果输入数组是- 那么我们函数的输

  • 我有两个数组: 我需要编写一个方法,该方法返回array1中元素的数组,该数组在字符串项中包含array2中的任何项。因此该方法应该返回: 我尝试了,但它只返回array1。我该怎么办?

  • 问题内容: 我想从数组中返回前5个项目。我怎样才能做到这一点? 问题答案: 返回数组的切片 是您要返回前五个元素的代码

  • 在这两行中都输出。它们是相同的东西,所以输出的不应该是吗?

  • 问题内容: 我想返回axios的响应,但始终返回的响应是不确定的: 控制台始终记录为未定义。他们以任何方式返回此响应。 问题答案: console.log不会等到该功能完全完成后再进行记录。这意味着您将必须进行异步处理,主要有两种方法: 回调-这是当您将函数作为参数传递到现有函数中时,将在axios调用完成后执行。这是如何与您的代码一起使用的: Promise-实现此目的的最简单方法是将其放在函数

  • 具体而言,请注意每个都是而不是。(它还具有属性。) 显然必须先完全枚举输入项,然后才能发出单个分组,但是,由于它发出的是而不是,如果不枚举整个分组,就可能会有性能上的好处,比如您只执行了。 旁白:从技术上讲,我认为可以等到您枚举它时使用输入中的单个项,然后发出单个,并且在枚举时只枚举其余的输入,在它搜索当前组中的下一个项时将其他组收集到它的内部数据结构中,但我发现这是一个不太可能的和有问题的实现,