Java-如何检查抽象超类是否是特定的子类

Java-如何检查抽象超类是否是特定的子类,java,inheritance,arraylist,Java,Inheritance,Arraylist,这个问题可能看起来很琐碎,但我在任何地方都找不到解决方案 我有一个抽象的超类Vehicle,有4个子类扩展它,即Car、Bus、Lorry和Bicycle 我还有一个arraylistv包含许多Vehicle对象,但我们不知道是哪种类型的车辆 现在我无法计算数组列表V中汽车的数量 int carCount = 0; for (Vehicle ob: V){ if (ob is a car) { carCount++; } } return carC

这个问题可能看起来很琐碎,但我在任何地方都找不到解决方案

我有一个抽象的超类
Vehicle
,有4个子类扩展它,即
Car
Bus
Lorry
Bicycle

我还有一个
arraylistv
包含许多
Vehicle
对象,但我们不知道是哪种类型的车辆

现在我无法计算
数组列表V
汽车的数量

int carCount = 0;
for (Vehicle ob: V){
    if (ob is a car) {
        carCount++;
        }
    }
return carCount;
想知道如果(ob是一辆车)
上述代码中的代码应该是什么

谢谢

if(ob instanceof Car)
请试试你要找的这个

if (ob instanceof Car) {
    carCount++;
}

在此处获取详细信息:

如果使用java-8,您可以在一行中完成:

V.stream().filter(Car.class::isInstance).count();
if(车载ob实例)