gpt4 book ai didi

java - 如何获取列表中特定类型的所有对象?

转载 作者:行者123 更新时间:2023-11-30 11:34:48 24 4
gpt4 key购买 nike

如果我有一个水果列表,包含所有类型的 Fruit 实现,例如 AppleBanana 等。该列表是必需的,因为其他方法对列表中的所有水果执行一般操作。

如何从列表中取出特定类型的所有对象?例如所有的苹果?执行 instanceof/if-else 检查非常难看,尤其是当有很多不同的类时。

如何改进以下内容?

class Fruit;
class Apple extends Fruit;
class Banana extends Fruit;

class FruitStore {
private List<Fruit> fruits;

public List<Apple> getApples() {
List<Apple> apples = new ArrayList<Apple>();

for (Fruit fruit : fruits) {
if (fruit instanceof Apple) {
apples.add((Apple) fruit);
}
}

return apples;
}
}

最佳答案

您应该知道 - 的实例是代码的不良做法。

写.getType(),返回对象的枚举类型怎么样?

关于java - 如何获取列表中特定类型的所有对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15452858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com