我设定一个域变量:
private ArrayList<BufferedImage> matchOriginalImage = new ArrayList<BufferedImage>();
然后用clear方法来清空集合,removeAll也试过,输出size为0:
public void removeMatchHistogram() {
originalMatchImage.clear();
System.out.println(originalMatchImage.size()+"**************************************************");
}但遍历之下,居然元素还在!令我大惊失色。怎么可能!我发誓没有在其它任何地方对matchOriginalImage 有额外的操作 for(BufferedImage buf:matchOriginalImage){
System.out.println(buf);
}
private ArrayList<BufferedImage> matchOriginalImage = new ArrayList<BufferedImage>();
然后用clear方法来清空集合,removeAll也试过,输出size为0:
public void removeMatchHistogram() {
originalMatchImage.clear();
System.out.println(originalMatchImage.size()+"**************************************************");
}但遍历之下,居然元素还在!令我大惊失色。怎么可能!我发誓没有在其它任何地方对matchOriginalImage 有额外的操作 for(BufferedImage buf:matchOriginalImage){
System.out.println(buf);
}
我设定一个域变量:
Java code private ArrayList<BufferedImage> matchOriginalImage = new ArrayList<BufferedImage>();可清空的时候是originalMatchImage.clear();
originalMatchImage.clear();
System.out.println(originalMatchImage.size()+"**************************************************");
}
for(BufferedImage buf:matchOriginalImage){
System.out.println(buf);
}
我觉得能清空才怪
matchOriginalImage
而且clear()绝对可以清空的。至少Rectangle这个类是可以的。
但是楼主,你下面for循环打印的时候,那个名字跟声明的不一样啊
originalMatchImage.clear();for(BufferedImage buf:matchOriginalImage){
System.out.println(buf);
}originalMatchImage == matchOriginalImage ????????????