Java列表,矢量比较

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)

}

打印的答案是"平等的".

怎么可能?

谢谢

迪利普

Kal*_*Kal 8

因为LinkedList和Vector都实现了List#equals()

当且仅当指定的对象也是列表时,返回true,两个列表具有相同的大小,并且两个列表中的所有对应元素对都相等.(如果(e1 == null?e2 == null:e1.equals(e2)),则两个元素e1和e2相等.)换句话说,如果两个列表包含相同顺序的相同元素,则它们被定义为相等.此定义确保equals方法在List接口的不同实现中正常工作.

具体来说,这是此行为的确切原因.

此定义确保equals方法在List接口的不同实现中正常工作.