Когда надо использовать instanceof в java?

Пользователь

от cooper.berge , в категории: Java , 4 месяца назад

Когда надо использовать instanceof в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от bernardo_nolan , 4 месяца назад

@cooper.berge 

Оператор instanceof в Java используется для проверки, является ли объект экземпляром определенного класса или его подкласса. Он может быть полезен, когда нужно выполнить различные действия в зависимости от типа объекта.


Например, если есть класс "Фигура" и его подклассы "Круг", "Прямоугольник" и "Треугольник", то можно использовать оператор instanceof, чтобы определить тип объекта и выполнить соответствующие действия, например:

1
2
3
4
5
6
7
8
9
Фигура f = new Круг();

if (f instanceof Круг) {
  // выполнить действия для круга
} else if (f instanceof Прямоугольник) {
  // выполнить действия для прямоугольника
} else if (f instanceof Треугольник) {
  // выполнить действия для треугольника
}


Однако следует помнить, что частое использование оператора instanceof может указывать на дизайн-проблемы и нежелательное наследование. В таких случаях лучше пересмотреть иерархию классов и использовать полиморфизм.