A.compareTo(B)经典案例

 

A.compareTo(B)用来比较A是否大于B

他返还的是一个Boolean值,如果A大于B,返还1。如果A等于B,返还0。如果A小于B,返还-1

 

案例

if(CommonData.DIFFQTY_ONE.equals(reqDto.getDiffQty())){
    //已配齐
    respDtos = respDtos.stream().filter(x -> BigDecimal.ZERO.compareTo(x.getUnMatchQuantity()) >= 0).collect(Collectors.toList());
    }else{
    //未配齐
    respDtos = respDtos.stream().filter(x -> BigDecimal.ZERO.compareTo(x.getUnMatchQuantity()) < 0).collect(Collectors.toList());
            }
DIFFQTY_ONE这个常量的值为1,DiffQty代表是否齐全(当DiffQty=1时代表齐全,DiffQty=0时代表不齐全)

x.getUnMatchQuantity()代表不齐全的数量,当不齐全的数量为0时即表示齐全~

 

翻译一下:

BigDecimal.ZERO.compareTo(x.getUnMatchQuantity())

代表0是否大于“获取到的待配数量”,假如此时待配数量为-2,会返还一个bool值1,代表0>-2

 >= 0

紧接着1>=0成立,不会走else中的代码。翻译成人话,1>=0表示0大于不齐全的数量=》不齐全的数量小于0=》代表齐全!!!

 

你懂了吗?


版权声明:本文为Delicious_Life原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。