... так как мне использовать его по сравнению с if (widget instanceoffileo.returnWidget ())?
Мне действительно трудно понять, чтоты просишь.Вы пытаетесь получить рабочий эквивалент widget instanceof instanceOfPojo.returnWidget()
, который не работает, потому что instanceof
работает только с литералами класса?
Чтобы узнать, является ли класс instanceOfPojo.returnWidget()
суперклассомКласс widget
, вы можете использовать isAssignableFrom :
instanceOfPojo.returnWidget().getClass().isAssignableFrom(widget.getClass());
Чтобы увидеть, являются ли они точно таким же классом:
instanceOfPojo.returnWidget().getClass() == widget.getClass()
Еслиэто не то, что вы имеете в виду, пожалуйста, попробуйте уточнить ваш вопрос.
Редактировать: ОП с тех пор уточнил вопрос.
... мы можем получить экземпляр abcClass.с этим экземпляром abcClass, как использовать java для создания аналогичного класса
Чтобы получить экземпляр класса и затем создать аналогичный класс из него, потребуется динамическое создание класса во время выполнения.В Java возможно динамическое создание класса, но я очень сомневаюсь, что вы могли бы сделать это в клиентском коде GWT.Это потому, что GWT поддерживает только подмножество Java и переводится в Javascript.
... мы называем его DefClass, чтобы мы могли привести к нему abcClass?
Поскольку класс abcClass
является («неизвестным») классом AbcClass
и AbcClass
является производным непосредственно от Composite, вы не сможете привести abcClass
к этому динамическому классу DefClass
.DefClass
не является частью abcClass
иерархии наследования (AbcClass
-> Composite
-> Widget
-> UIObject
-> Object
), и вы не можете изменить эту иерархию наследования для включения DefClass
во время исполнения после факта.