本文介紹了為什么兩個具有不同泛型類型的空ArrayList相等?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我對equals()
方法對ArrayList
的工作方式有疑問。以下代碼片段打印true
。
ArrayList<String> s = new ArrayList<String>();
ArrayList<Integer> s1 = new ArrayList<Integer>();
System.out.println(s1.equals(s));
為什么打印true
?
推薦答案
查找doc的equals()方法ArrayList
當且僅當指定的對象也是列表,兩個列表具有相同的大小,并且兩個列表中所有對應的元素對都相等時,
才返回TRUE。
由于沒有元素,所有條件都滿足,因此true
。
如果將元素添加到這兩個列表(每個中至少添加一個),則可以查看所需的輸出。
這篇關于為什么兩個具有不同泛型類型的空ArrayList相等?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,