如何在Java中将向量转换为向量?
作者:互联网
我将JComboBox与自定义类对象一起使用,并且equals方法被覆盖,并且非常深入地集成到代码中.
问题是,如果在JComboBox下拉列表中两个对象相等,则如果选择了一个,则全部选中,并且get selected索引返回-1.
有没有一种方法可以将Vector< ObjectA>到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_1的父级,而Clas_3是Clas_1的扩展,但它们都不编译.
我需要的只是JComboBox,不要使用重写的equals方法.
*注意我知道我可以将每个单独的元素转换为新数组,但是宁愿有一个内存效率更高的解决方案.
解决方法:
更改代码中声明的变量的类型不会更改equals()方法的调用.无论将其强制转换为什么,它将始终被覆盖.这就是多态性的工作方式.如果要使用其他相等的实现,则需要创建其他类.
标签:jcombobox,java,vector,casting 来源: https://codeday.me/bug/20191013/1910712.html