Dil*_*esh 4 java comparison list vector
我在互联网上看到了以下程序
public class Test1{
public static void main(String[] args)
{
Integer int1 = new Integer(10);
Vector vec1 = new Vector();
LinkedList list = new LinkedList();
vec1.add(int1);
list.add(int1);
if(vec1.equals(list)) System.out.println("equal");
else System.out.println("not equal");
}
Run Code Online (Sandbox Code Playgroud)
}
打印的答案是"平等的".
怎么可能?
谢谢
迪利普
因为LinkedList和Vector都实现了List#equals()
当且仅当指定的对象也是列表时,返回true,两个列表具有相同的大小,并且两个列表中的所有对应元素对都相等.(如果(e1 == null?e2 == null:e1.equals(e2)),则两个元素e1和e2相等.)换句话说,如果两个列表包含相同顺序的相同元素,则它们被定义为相等.此定义确保equals方法在List接口的不同实现中正常工作.
具体来说,这是此行为的确切原因.
此定义确保equals方法在List接口的不同实现中正常工作.
| 归档时间: |
|
| 查看次数: |
4278 次 |
| 最近记录: |