java一行代码判断2个数组里是否有相同的值

java spring 文章 2021-10-22 15:33 22 0 全屏看文

其实有点投机取巧了。

使用了spring的内核方法而已。

方法全路径

org.springframework.util.CollectionUtils(Collection<?> source, Collection<?> candidates)

其实源码里也就是两个数组循环对比。

public static boolean containsAny(Collection<?> source, Collection<?> candidates) {
		if (isEmpty(source) || isEmpty(candidates)) {
			return false;
		}
		for (Object candidate : candidates) {
			if (source.contains(candidate)) {
				return true;
			}
		}
		return false;
	}


外面具体的用法就是:

public static void main(String[] args) {
		List<Long> a =new ArrayList<>();
		a.add(100L);
		a.add(200L);
		
		List<Long> b =new ArrayList<>();
		b.add(100L);
		b.add(200L);
		
		List<String> c =new ArrayList<>();
		c.add("100");
		c.add("200");
		
		System.out.println(CollectionUtils.containsAny(a, b));
		System.out.println(CollectionUtils.containsAny(a, c));
	}

分别返回的:

true
false


-EOF-