У меня следующий интерфейс
Interface fooBar extends Foo {}
несколько классов, реализующих их
class A implements fooBar {}
class B implements fooBar {}
class C implements fooBar {}
Теперь в одном из способов у меня есть следующие
Foo dummy = someMethod.getIt();
Я хочу знать, что это за манекен; это A, B, C
Я попробовал dummy.getClass().getSimpleName(), и он не дал ни одного из трех, а случайную строку "AndFunction"
Я могу выполнить проверку instanceOf для каждого из A, B, C. Это становится некрасивым, когда у меня появляется больше реализаций.
P.S. Я упростил код, который пытаюсь отладить с помощью отладчика в IntelliJ. Это довольно большое устаревшее приложение с Spring beans, созданным и внедренным во время выполнения.
Вместо instanceof вы должны использовать полиморфизм, однако это сложно, если вы не можете реорганизовать код.
Это имя могло быть сгенерировано автоматически (если someMethod.getIt() вернул прокси). Вы можете изучить интерфейсы и / или суперкласс dummy.getClass(), чтобы понять, что это такое на самом деле.
@ Андрей Тобилко как?
@brainstorm отладить содержимое dummy.getClass()




"он не дал ни одного из трех" - Что это дало вам?