我有一个类,有许多其他类扩展它。所以现在我使用GenericPool来回收物品以获得更好的性能。但问题是,我不能施放子类,例如:
StarDustSprite sprStarDust = (StarDustSprite) splStarDust[rndGenerator.nextInt(Parent.andStarDustR.length)].obtainPoolItem();
(StarDustSprite扩展了一个名为Sprite的类,而getsPoolItem()函数返回一个Sprite对象。)
我可以强制解析它吗?或者如果我有10个子类,我必须制作10个GenericPool类?
谢谢。
答案 0 :(得分:1)
我可以强行解析吗?
不,你不能这样投,出于同样的原因你不能将Object
投射到String
。
或者如果我有10个子课程,我必须制作10个GenericPool课程?
我想是的。但我首先不会这样解决它。
如果你真的想重用对象,我建议你懒得初始化一个对象列表,稍后你可以重用它们。