我现在很懵逼 求大佬解释

it2022-05-05  141

public static void main(String[] args) { List<Integer> a = new ArrayList<Integer>(); for (int i = 0; i < 7; i++) { a.add(i); } List<Integer> c = new ArrayList<Integer>(); for (int i = 0; i <5 ; i++) { c.add(i); } System.out.println("test1的值:"+test1(a,c)); System.out.println("test2的值:"+test2(a,c)); System.out.println("test3的值:"+test3(a,c)); System.out.println("test4的值:"+test4()); System.out.println("test5的值:"+test5()); } private static List<Integer> test1(List<Integer> a,List<Integer> c){ List<Integer> b = a; b.removeAll(c); return a; } private static List<Integer> test2(List<Integer> a,List<Integer> c){ List<Integer> b = new ArrayList<Integer>(a); b.removeAll(c); return a; } private static List<Integer> test3(List<Integer> a,List<Integer> c){ List<Integer> b = new ArrayList<Integer>(); b.addAll(a); b.removeAll(c); return a; } private static String test4(){ List<Integer> a = new ArrayList<Integer>(); for (int i = 0; i < 7; i++) { a.add(i); } List<Integer> c = new ArrayList<Integer>(); for (int i = 0; i <5 ; i++) { c.add(i); } List<Integer> b = new ArrayList<Integer>(); b.addAll(a); b.removeAll(c); return a.toString(); } private static String test5(){ List<Integer> a = new ArrayList<Integer>(); for (int i = 0; i < 7; i++) { a.add(i); } List<Integer> c = new ArrayList<Integer>(); for (int i = 0; i <5 ; i++) { c.add(i); } List<Integer> b = new ArrayList<Integer>(a); b.removeAll(c); return a.toString(); }

 

输出结果如图:

为什么2 3 的结果和4 5 不一样???


最新回复(0)