如何从对象数组中获取对象特定属性的值?

问题描述 投票:2回答:1

我需要帮助来从数组内部的对象获取值。例如,如果我在Menu类中将实例变量声明为:

private String id;
private String name;
private double price;

然后我将数组初始化为

Menu[] food = {new Menu("F01", "Burger", 10.00), ...};

当用户输入Menu的ID时,如何获得食物的价格?我该怎么办?

java arrays
1个回答
3
投票

您应该执行以下操作:

Menu[] menus = {new Menu("FO1","Burger",10.00),
        new Menu("FO2","Pizza",20.00)
    };

Scanner scanner = new Scanner(System.in);
System.out.println("Enter your id");
String menuId = scanner.nextLine();

要遍历数组,可以使用Java 8 Stream或normal for循环。

方法1 :(用于循环)

for (int i = 0; i < menus.length; i++) {
        if(menus[i].getId().equals(menuId)){
            System.out.println(menus[i].getPrice());
        }
    }

方法2 :(流)

Arrays.stream(menus).filter(menu -> menu.getId().equals(menuId))
            .findFirst()
            .ifPresent(menu -> {
                System.out.println(menu.getPrice());
            });
© www.soinside.com 2019 - 2024. All rights reserved.