在开发中遇到的问题,在此记录一下。
在销售过程中,每件商品都有自己的序列号,序列号往往是唯一的,营业员在页面扫码或输入多个序列号的时候,需要将该序列号发送到后台跟库存信息进行比较,并将库存信息进行更新,就需要将数据库存储的序列号和接收到的序列号进行比较,再删掉已经销售的序列号。代码如下
import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Test { public static void main(String[] args) { //定义字符数组1 String[] as = new String[] { "0000001", "0000002", "0000003", "0000004" }; //定义字符数组2 String[] bs = new String[] { "0000001", "0000003" }; //字符数组转list List<String> list = Arrays.asList(bs); //定义一个list用来装差集 List<String> result = new ArrayList<String>(); //循环遍历 for (String a : as) { // 判断是否包含 if (!list.contains(a)) { //不包含则添加到差集list中去 result.add(a); } } System.out.println(result); } }
数据库原本保存的该商品的序列号分别为:“0000001”, “0000002”, “0000003”, “0000004” ,已经销售的序列号分别为:“0000001”, “0000003”,则更新后数据库保存的序列号应该为:“0000002”,“0000004”
程序运行结果: