与C#泛型的区别:对于不同实例化的泛型类,C#在运行时生成类。Gosu不会这样做:一个泛型类对应一个在运行时使用的类。类型信息保留在对象内部,而不是类中。因此,C#可以专门为代码(例如原始类型)进行优化,而Gosu则不能。例如,Gosu必须将int包装成对象才能将它们放入列表中。
我最近才看了Gosu,还没有真正写过任何程序;但我能说的是,具体而言,reified generics指的是Gosu保留了泛型对象的原始类型。 在Java中,如果不使用反射,就无法找出传递给泛型函数的某个东西的原始类型。 请查看文档中此页面底部。它并没有说明如何实现,只是说可以实现。 同时,请参考以下问题: 为什么我应该关心Java没有具体化的泛型? 什么是具体化的泛型,它们如何解决类型擦除问题,为什么不能在不进行重大更改的情况下添加它们?