CommonUtils { public static <T> boolean listEquals(List<T> left, List<T> right) { if (left == null) { return right == null; } else { if (right == null) { return false; } if (left.size() != right.size()) { return false; } List<T> ltmp = new ArrayList<T>(left); List<T> rtmp = new ArrayList<T>(right); for (T t : ltmp) { rtmp.remove(t); } return rtmp.isEmpty(); } }  static V putToConcurrentMap(ConcurrentMap<K, V> map, K key, V value); static boolean isTrue(String b); static boolean isTrue(Boolean b); static boolean isFalse(Boolean b); static boolean isFalse(String b); static boolean isEmpty(Collection collection); static boolean isNotEmpty(Collection collection); static boolean isEmpty(Map map); static boolean isNotEmpty(Map map); static boolean isEmpty(Object[] array); static boolean isNotEmpty(Object[] array); static T parseNum(T num, T defaultInt); static int parseInt(String num, int defaultInt); static long parseLong(String num, long defaultLong); static boolean parseBoolean(String bool, boolean defaultInt); static int[] parseInts(String nums, String sperator); static boolean listEquals(List<T> left, List<T> right); static String join(Collection collection, String separator);  }
@Test public void testListEquals() { List left = new ArrayList(); List right = new ArrayList(); Assert.assertTrue(CommonUtils.listEquals(null, null)); Assert.assertFalse(CommonUtils.listEquals(left, null)); Assert.assertFalse(CommonUtils.listEquals(null, right)); Assert.assertTrue(CommonUtils.listEquals(left, right)); left.add("111"); left.add("111"); Assert.assertFalse(CommonUtils.listEquals(left, right)); right.add("222"); right.add("111"); Assert.assertFalse(CommonUtils.listEquals(left, right)); left.remove("111"); left.add("222"); Assert.assertTrue(CommonUtils.listEquals(left, right)); }