我将 JComboBox 与自定义类对象一起使用,并且 equals 方法被重写,并非常深入地集成到代码中。
问题是,如果 JComboBox 下拉列表中的两个对象相等,那么如果选择了其中一个,则所有对象都会被选中,并且获取选定索引将返回 -1。
有没有办法投射Vector<ObjectA>
to a Vector<ObjectB>
?
我试过
Vector<Clas_2> v_temp=(ca.courses.get(i).classes);
and
Vector<Clas_3> v_temp=(ca.courses.get(i).classes);
Where Clas_2
是的父母Clas_1
and Clas_3
是一个延伸Clas_1
,但它们都不能编译。
我需要的是 JComboBox 不要使用重写的 equals 方法。
*注意我知道我可以将每个单独的元素转换为一个新数组,但宁愿有一个更有效的内存解决方案。
更改代码中声明变量的类型不会改变什么equals()
方法被调用。无论您将其投射到什么位置,它都将始终是被覆盖的。这就是多态性的工作原理。如果您想要不同的 equals 实现,则需要创建一个不同的类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)