假设我有一个 ArrayList,其中填充了不同类型的对象...
ArrayList<Fruit> shelf = new ArrayList<Fruit>();
Apple apple = new Apple();
Orange orange = new Orange();
Pear pear = new Pear();
shelf.add(apple);
shelf.add(orange);
shelf.add(pear);
我想知道是否shelf
包含一个Orange
对象。我试过了
shelf.contains(Orange.class)
但这不会返回 true。我的理解是contains
使用equals
对象比较的方法,所以我不确定为什么会这样。
我意识到我可以简单地遍历 ArrayList 并单独检查对象的类型,但我很好奇为什么contains
它的行为不像我期望的那样。