Java对象列表pro&;欺骗

Java对象列表pro&;欺骗,java,object,casting,Java,Object,Casting,我用Java创建了这个游戏,我使用一个优先级队列,以Y值呈现我的敌人。但我想对敌人以外的其他类型的对象进行排序。由于java中的所有对象都是从Object类继承的,所以我认为我应该将对象类型的队列和类型转换为敌人。所以我想知道这样做是否有什么主要的缺点?创建自定义超类队列比依赖所有类的泛型对象祖辈有几个优点。其中包括 您不必使用任何强制转换来访问队列的元素 编译器会为您查找错误。示例包括尝试添加对队列的引用,该引用以后无法转换为您期望的类型 任何好的Java文本都包含您所询问的想法。我强烈建议您

我用Java创建了这个游戏,我使用一个优先级队列,以Y值呈现我的敌人。但我想对敌人以外的其他类型的对象进行排序。由于java中的所有对象都是从Object类继承的,所以我认为我应该将对象类型的队列和类型转换为敌人。所以我想知道这样做是否有什么主要的缺点?

创建自定义超类队列比依赖所有类的泛型
对象
祖辈有几个优点。其中包括

  • 您不必使用任何强制转换来访问队列的元素

  • 编译器会为您查找错误。示例包括尝试添加对队列的引用,该引用以后无法转换为您期望的类型


  • 任何好的Java文本都包含您所询问的想法。我强烈建议您阅读和/或在线研究,以了解有关此主题的更多详细信息。

    您的问题不清楚。你能提供更多的例子代码和/或你想做什么的详细描述吗?我有一个Java默认类的优先级队列:Object,默认情况下所有类都从它继承。然后我在里面放了两个不同的物体。当使用我键入的对象时,将其转换为访问函数。将两个不同的对象放在同一优先级队列中是一个好的解决方案还是一个坏的解决方案?这两个不同的对象是如何关联的?从您提供的有限信息来看,这听起来是个坏主意。我建议创建您正在使用的特定类对象的队列。这就是Java中泛型的要点。如果你有几个不同的相关类,你应该创建一个超类,它可以用作队列中引用的类型。我知道我可以为这些对象创建一个超类,但是使用javas超类对象有什么区别呢?问题是我想根据Y轴渲染对象,以便使对象看起来像是“后面”的对象。怪物比另一个对象大得多,所以我觉得没有必要创建一个完整的超类来保持位置,因为这样我就需要对对象进行类型转换来获得特定的方法。我正在考虑对对象进行pq,然后有一个方法返回另一个包含对象引用的对象类型列表。@RasmusAppelkList听起来你有很多设计问题需要解决。也许你们每个班都做了太多的事情。您可能希望寻找将类拆分为更易于管理的代码段的方法。