Java arrayList与Vector不兼容
我有如下代码Java arrayList与Vector不兼容,java,arraylist,vector,collections,Java,Arraylist,Vector,Collections,我有如下代码 private Vector<Vector<Object>> barCode; private boolean isBarCode(String temp) { for (Vector<Object> link : barCode) { if (link.get(0).toString().equals(temp)) { return true; }
private Vector<Vector<Object>> barCode;
private boolean isBarCode(String temp) {
for (Vector<Object> link : barCode) {
if (link.get(0).toString().equals(temp)) {
return true;
}
}
return false;
}
专用矢量条码;
专用布尔isBarCode(字符串温度){
用于(矢量链接:条形码){
if(link.get(0).toString()等于(temp)){
返回true;
}
}
返回false;
}
我正在犯错误
原因:java.lang.ClassCastException:java.util.ArrayList与java.util.Vector不兼容
在for循环线
有什么输入吗?您的
条码包含数组列表,而不是向量
有人放错了容器。在您的示例中,没有足够的数据来找出位置和原因
您可以将(矢量链接:条码)
替换为(ArrayList链接:条码)
的,并将矢量条码
替换为矢量条码
,但我强烈建议您在找到条码
包含ArayList
的原因之前不要这样做
这是因为在代码中的某个地方使用了原始泛型(Vector
没有泛型参数)。私有列表条形码;
专用布尔isBarCode(字符串温度){
用于(列表链接:条形码){
if(link.get(0).toString()等于(temp)){
返回true;
}
}
返回false;
}
Vector
和ArrayList
都实现了列表
接口,因此这允许其中一个(以及任何其他实现)的实例。我还建议在其余代码中创建ArrayList
实例时进行标准化,除非您确定需要的功能。错误不在您发布的代码中。请附上一份。
private List<List<Object>> barCode;
private boolean isBarCode(String temp) {
for (List<Object> link : barCode) {
if (link.get(0).toString().equals(temp)) {
return true;
}
}
return false;
}