Java 比较两个列表,如果至少有一个条目相同,则返回错误

Java 比较两个列表,如果至少有一个条目相同,则返回错误,java,list,Java,List,我有一个对象SalesType,其中包含字段SalesTypeId和SalesTypeCode 我有两个列表list1和list2 List1={(1,10),(2,20),(3,30)} List2={(1,40),(2,50),(3,20) 我试图比较列表中的SalesTypeCode代码,如果相同,则必须退出循环,并返回列表中的相同字段 下面是我所做的,但它并没有返回我所期待的 我做错了什么 List<SalesType> list1 =service.getAllSales

我有一个对象
SalesType
,其中包含字段
SalesTypeId
SalesTypeCode

我有两个列表list1和list2

List1={(1,10),(2,20),(3,30)}
List2={(1,40),(2,50),(3,20)
我试图比较列表中的
SalesTypeCode
代码,如果相同,则必须退出循环,并返回列表中的相同字段

下面是我所做的,但它并没有返回我所期待的

我做错了什么

List<SalesType> list1 =service.getAllSalesTypeCodes(form.getReqSalesTypeGroup());
        List<SalesType> list2 = service.getAllSalesTypeCodes(form.getSorSalesTypeGroup());
        if (list1 != null || list2 != null) {
            mainLoop:
            for (int i = 0; i < list2.size(); i++) {
                System.out.println("list2 " + list2.get(i).getSalesTypeCode());
                for (int j = 0; j < list1.size(); j++) {
                    System.out.println("list1 " + list1.get(j).getSalesTypeCode());
                    if ((list2.get(i).getSalesTypeCode()).equals((list1.get(j).getSalesTypeCode()))) {
                        System.out.println("equals..:" + (list2.get(i).getSalesTypeCode()).equals((list1.get(j).getSalesTypeCode())));
                    errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(ActionErrorConstants.MESSAGE_EXISTS_SALES_TYPE));
                        System.out.println("breaking the loop");
                        break mainLoop;
                }
                }
            }

        }
List list1=service.getAllSalesTypeCodes(form.getReqSalesTypeGroup());
List list2=service.getAllSalesTypeCodes(form.getSorSalesTypeGroup());
if(list1!=null | | list2!=null){
主回路:
对于(int i=0;i
SalesType类(包括HashCode)中正确重写equals,然后使用

  • 列表#保留(…)方法

  • 列出#.删除所有(…)方法


它返回的是什么?您期望>?如果salesTypecode在列表中匹配,则循环必须终止并返回一条消息,就像lists有一个或多个相同的saleTypeCode一样。