@gibsonen

Какой объект object ко мне пришел?

Есть класс с конструктором, который принимает тип Object. Я создаю 2 экземпляра этого класса и передаю в конструктор тип Integer и тип Double соответственно. Как мне в конструкторе определить какой Object ко мне пришел?(Integer или Double?
  • Вопрос задан
  • 290 просмотров
Решения вопроса 1
@KeyJ
Используйте ключевое слово instanceof

public MyClass(Object o){
   if (o instanceof Integer) {
      //Действия для Integer
   }
   if (o instanceof Double) {
      //Действия для Double
   }
}


Но если вам требуется реализация подобного условия, то, скорее всего, у вас имеется где-то ошибка в архитектуре приложения.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@aol-nnov
public MyClass(Integer o){
      //Действия для Integer
}
public MyClass(Double o){
      //Действия для Double
}

нэ?!

то, что ты делаешь - это примерно как void* везде передавать в с++. в чем профит-то?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы