小编典典

如何转换向量 矢量 在Java中?

java

我将JComboBox与自定义类对象一起使用,并且equals方法被覆盖,并且非常深入地集成到代码中。

问题是,如果在JComboBox下拉列表中两个对象相等,那么如果选择了一个,则全部选中,并且get selected索引返回-1。

有没有一种方法可以将a强制转换Vector<ObjectA>为a Vector<ObjectB>?我试过了

Vector<Clas_2> v_temp=(ca.courses.get(i).classes);

Vector<Clas_3> v_temp=(ca.courses.get(i).classes);

其中Clas_2是的父项Clas_1Clas_3是的扩展项Clas_1,但它们都不编译。

我需要的只是JComboBox,不要使用重写的equals方法。

*注意,我知道我可以将每个单独的元素转换为新数组,但是宁愿有一个内存效率更高的解决方案。


阅读 304

收藏
2020-11-26

共1个答案

小编典典

更改代码中声明的变量的类型不会更改所equals()调用的方法。无论将其强制转换为什么,它将始终被覆盖。这就是多态性的工作方式。如果要使用其他相等的实现,则需要创建其他类。

2020-11-26