前言
比较字符串或者数组的是否完全一致,在日常项目中也有很多这样的需求,今天就提供一个简单的工具类
代码
思路:(修改场景,只能新增,不能减少)
看看原来是否存在不存在不判断
存在比长度,长度不一样返回
长度相等或者大于原来的长度,进行字段内容匹配
public class Demo3 {
/**
* 比较两个是否一样(不考虑顺序)
*
*/
public static void main(String[] args) {
String A = "2,4,1";
String B = "2,4,3";
String C = "2,4,1,3";
System.out.println(checkDiff(A, B));
System.out.println(checkDiff(A, C));
}
/**
* source 原始的
* target 修改后
*/
private static boolean checkDiff(String source, String target) {
if(!StringUtils.isEmpty(source)){
List<String> collectSource = Arrays.stream(source.split(",")).collect(Collectors.toList());
if (StringUtils.isEmpty(target)) {
return false;
}else{
List<String> collectTarget = Arrays.stream(target.split(",")).collect(Collectors.toList());
if(collectTarget.size()<collectSource.size()){
return false;
}else{
collectTarget.retainAll(collectSource);
if (collectTarget.size()==collectSource.size()) return true;
}
}
}
return false;
}
}