1.Long型、Integer型等与Long型、Integer型或long、int比较时,为确保正确
Long.longValue() == Long.longValue()
Long.longValue() == long
Integer.intValue() == Integer.intValue()
Integer.intValue() == int
否则很可能会出现一些值的确相等,但是判断结果为false的情况
其他一些对基本类型变量进行包装的类同样如此
2.List<Object> objects
for(Object object : objects) {
if(object.getField()==value) {
objects.remove(object);
}
}
实际中发现这样很容易出现问题并抛出异常,并且符合要求的对象并未被清除干净,保险的写法:
for(Iterator iter=objects.getIterator();iter.hasNext();) {
if(iter.get().getField()==value) {
iter.remove();
}
}
Long.longValue() == Long.longValue()
Long.longValue() == long
Integer.intValue() == Integer.intValue()
Integer.intValue() == int
否则很可能会出现一些值的确相等,但是判断结果为false的情况
其他一些对基本类型变量进行包装的类同样如此
2.List<Object> objects
for(Object object : objects) {
if(object.getField()==value) {
objects.remove(object);
}
}
实际中发现这样很容易出现问题并抛出异常,并且符合要求的对象并未被清除干净,保险的写法:
for(Iterator iter=objects.getIterator();iter.hasNext();) {
if(iter.get().getField()==value) {
iter.remove();
}
}