qq_36604562 2018-10-26 02:56 采纳率: 100%
浏览 456
已采纳

急求!怎么这做判断啊 不相等 retrun老是返回正确的

怎么判断这个list里面的值是否在另一个list里面存在 存在的话返回true 返回到这个方法里面
不存在的话不做处理

            public class LegalityImpl implements Legality {

@Autowired
private RedisTools redisTools;


@Override
public boolean verify(String msg) {
    int start = msg.indexOf("MN"); // 获取第一次/出现的位置
    int end = msg.lastIndexOf(";CP"); // 获取最后一次.出现的位置
    String result = msg.substring(start, end).replace("MN=", " ");
    result=result.replace(" ","");
    List<String>results=Arrays.asList(result);
    List<String> list = redisTools.getDeviceCodeList();
    for (int i = 0; i < list.size(); i++) {
        if(!list.get(i).equals(results.get(0))){
            return false;
        }
    }
        return true;
}




public interface Legality {
/**
 * 验证设备合法性
 * 
 * @param msg
 * @return
 */
boolean verify(String msg);

}

public class ParserImpl implements Parser {

private static final Logger LOG = LoggerFactory.getLogger(ParserImpl.class);

@Autowired
private Legality legality;

@Override
public void parse(String msg) {

    // 1. 验证设备合法性
    if (!this.verify(msg)) {
        return  ;
    }
        private boolean verify(String msg) {
    return this.legality.verify(msg);
}

其中result的值为399HOLL0000219

  • 写回答

8条回答

  • 千秋无痕 2018-10-26 03:15
    关注

    看了你的代码的逻辑,result集合第一个元素和list比较,只要触发不相等的,就直接返回;【这样的话,没有把集合元素全部比较】

    而你提问的问题,是想result集合的第一个元素,和list全部比较完毕后,不存在返回false,否则返回true;

    那么你的代码逻辑需要调整;,可以反过来,只要有相等的,返回true,外面return false;

    不知道我理解的,是否是你需要的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常