Java漫谈-Long判等
Long判等源码
public boolean equals(Object obj) { if (obj instanceof Long) { return value == ((Long)obj).longValue(); } return false; }
可见Long类型的判等本身就是对值的判等,故不需要对Long做手动拆箱(即b.longValue())操作:
Long a = 1L; Long b = 3L; a.equals(b); //这样既可 a.equals(b.longValue()); //无需这样
list.contains(o)源码
此处以ArrayList的contains为例,可见当为Long时,该方法调用是equals作对比,而equals已自动拆箱,故无需再手动拆箱。public boolean contains(Object o) { return indexOf(o) >= 0; }
public int indexOf(Object o) {
if (o == null) {
for (int i = 0; i < size; i++)
if (elementData[i]==null)
return i;
} else {
for (int i = 0; i < size; i++)
if (o.equals(elementData[i]))
return i;
}
return -1;
}
预览
除特别注明外,本站所有文章均为 windcoder 原创,转载请注明出处来自: javaqiantan-longpandeng
Loading comments...

预览
暂无数据