lixing 3 years ago
parent
commit
0376a6f42c
1 changed files with 5 additions and 1 deletions
  1. 5 1
      fm-common/src/main/java/com/persagy/fm/common/utils/ListUtil.java

+ 5 - 1
fm-common/src/main/java/com/persagy/fm/common/utils/ListUtil.java

@@ -63,7 +63,11 @@ public class ListUtil {
         if (listAfter == null) {
             return true;
         }
-        return listBefore.retainAll(listAfter) || listAfter.retainAll(listBefore);
+
+        // 先将list复制再比较,retainAll方法会改变list的内容
+        List<T> listBeforeCopy = Lists.newArrayList(listBefore);
+        List<T> listAfterCopy = Lists.newArrayList(listAfter);
+        return listBeforeCopy.retainAll(listAfterCopy) || listAfterCopy.retainAll(listBeforeCopy);
     }
 
 //    public static void main(String[] args) {