我正在尝试创建一个程序,这是我的问题:
我有界面'引擎'。
EngineFactory.createEngine(request)
在工厂我有:
if(request instanceof TypeA){ return new TypeAAA(request);}
if(request instanceof TypeB){ return new TypeBBB(request);}
在我尝试做的时候,遗憾的是在构造函数中:
(TypeA) requestArg
它是说 - 未定义的构造函数。如果没有(TypeAAA)TypeA requestArg的明显转换,我可以这样做吗?
答案 0 :(得分:1)
我假设您想将其投放到TypeA
,而不是TypeAAA
,如果它是TypeA
的实例?
无论如何,是的,即使您检查过它是否是instanceof
之前的课程,您仍然必须自己投出。在Kotlin中,编译器很聪明,可以解决它,但是使用Java,你仍然需要进行转换。