Object的equals方法容易抛空指针异常,推荐使用 java.util.Objects#equals
(JDK7 引入的工具类)
Objects.equals(null,"SnailClimb");// false
java.util.Objects#equals
的源码
public static boolean equals(Object a, Object b) {
// 可以避免空指针异常。如果a==null的话此时a.equals(b)就不会得到执行,避免出现空指针异常。
return (a == b) || (a != null && a.equals(b));
}
Arrays.asList()
将数组转换为集合后,底层其实还是数组
int[] myArray = { 1, 2, 3 };
List myList = new ArrayList<> (Arrays.asList(myArray));
System.out.println(myList.size());//1
int [] array=(int[]) myList.get(0);
System.out.println(array[1]);//1
不要在 foreach 循环里进行元素的 remove/add 操作