java - 如何在两个数组中查找字符串之间的匹配项

里卡尔多

我有两个包含一些字符串的数组,如下所示:

数组#1

abcd                    
efgh            
servicegroup_1
ijkl 

数组#2

servicegroup_3
servicegroup_1

"VERIFY: OK"如果 Array #1 至少包含 Array #2 的字符串之一,我想打印一个字符串(在控制台上)。否则,"VERIFY: KO"必须打印一个字符串

我实现了一些如下代码:

for (int i = 0; i < scopeFile.length; i++) {
                for (String element : scopeJWT) {
                    if (scopeFile[i].contains(element)) {
                        ctx.setSendZuulResponse(true);
                        System.out.println(now + " --- " + "[Check Signature: OK]" + " [Verify Scope: OK]" + " [Verify expTime: OK]");
                    } else {
                        ctx.setSendZuulResponse(false);
                        ctx.setResponseStatusCode(HttpStatus.UNAUTHORIZED.value());
                        System.err.println(now + " --- " + "[VERIFY SCOPE: KO]");
                    }
                }
}

但是,它同时返回VERIFY SCOPE: OKand VERIFY SCOPE: KO,即使在考虑我报告的数组时,我也会只打印VERIFY SCOPE: OK(因为 Array #1 contains servicegroup_1

任何想法来修复我的代码?谢谢

丹尼

在 Array1 中找到字符串后,您忘记中断循环。尝试break;在此行后添加一个

System.out.println(now + " --- " + "[Check Signature: OK]" + " [Verify Scope: OK]" + " [Verify expTime: OK]");

并检查循环外的非正常情况。

像这样:

boolean isOk = false;
for (int i = 0; i < scopeFile.length; i++) {
    for (String element : scopeJWT) {
        if (scopeFile[i].contains(element)) {
            ctx.setSendZuulResponse(true);
            System.out.println(now + " --- " + "[Check Signature: OK]" + " [Verify Scope: OK]" + " [Verify expTime: OK]");
            isOk = true;
            break;
        }
    }
}
if (!isOk) {
    ctx.setSendZuulResponse(false);
    ctx.setResponseStatusCode(HttpStatus.UNAUTHORIZED.value());
    System.err.println(now + " --- " + "[VERIFY SCOPE: KO]");
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java的:是否可以将字符串值在两个数组比较,如果它们匹配,增加第一阵列中的一个int值?

如何在Java中返回两个或多个字符串?

如何在Java中连接两个字符串数组

如何在Java中查找与通配符字符串匹配的文件?

如何在Java中连接两个字符串?

在Java中的数组中查找字符串

Java:比较两个字符串数组并删除两个数组中都存在的元素

如何在Java中查找字符串模式

如何在Java中混合两个数组?

Java。在数组列表中查找字符串长度最大的字符串长度

Java-查找具有重复项的两个数组之间的差异

如何在Java中的两个字符之间获取确切的字符串

Java匹配两个字符串之间的每两个序列字符

如何在Java中的两个字符之间获取字符串?

如何在Java中计算两个字符串之间的匹配分数?

Java。如何从两个字符串数组或列表中删除相同的字符串对象

使用Java查找两个数组之间的非重复项

如何在Java中从ENUM的两个字符串之间随机选择一个字符串?

在Java中查找字符串模式

Java从文件搜索中删除重复项以查找字符串数组[0]

如何在Java字符串中替换两个连续的反向逗号“”?

如何在Java中查找字符串中的最后一个单词?

如何在Java中将字符串中的两个字符居中

在 Java 中查找字符串数组中字符串元素的最大值/最小值

比较java中的2个字符串数组并从两个数组中打印相同的元素

如何在JAVA中的文本文件中查找字符串

在Java中查找字符串中的数字计数

在java中查找两个数组之间的公共最小值

java - 如何在Java中混合非英语的特定位置查找字符串?