Один из способов - использовать метод getClass()
.
Object obj = vehicleIterator.next();
Class type = obj.getClass();
System.out.println("The type is: " + type.getName());
Однако, если вы явно проверяете тип класса, почти всегда есть лучший способ написать свой код, используя полиморфизм или какой-либо другой принцип ОО. Код, который проверяет тип, подобный этому, или использующий instanceof
, безусловно, должен быть изменен, если будут добавлены дополнительные типы автомобилей.
Не имея больше информации о том, что вы делаете с типом, я бы посоветовал вам иметь базовый тип Vehicle
, который Car
, Bus
и т. Д. Все они наследуют. Дайте вашим транспортным средствам методы, которые им нужны (переопределите те, которые вам нужны), затем просто вызовите эти методы в цикле.