Java 无法对数组类型字符串[]调用拆分(字符串)

Java 无法对数组类型字符串[]调用拆分(字符串),java,Java,我想实现一个将ip检查到数组中的代码。我试过这个: // 123.11.1.1, 123.1.1.12, 123.322.12.1 String[] list = merchant.getAllowed_ip_address().split(","); String ip = request.getRemoteAddr(); for (ip : list.split(",")) { if (!ip.trim

我想实现一个将ip检查到数组中的代码。我试过这个:

        // 123.11.1.1, 123.1.1.12, 123.322.12.1
        String[] list = merchant.getAllowed_ip_address().split(",");

        String ip = request.getRemoteAddr();
        for (ip : list.split(",")) {
            if (!ip.trim().equals(request.getRemoteAddr().trim())) 
            {
               // Not in list
            }
        }

但是我无法在数组类型字符串[]上调用splitString。您知道如何解决此问题吗?

当ip位于列表中时,此选项将列表中的变量设置为true,否则设置为false。进行了严格的相等比较,如果需要,可以用更复杂的东西代替

    // 123.11.1.1, 123.1.1.12, 123.322.12.1
    String list = merchant.getAllowed_ip_address();
    String ip = request.getRemoteAddr().trim();
    boolean inthelist = false;
    for (String aip : list.split(",")) {
        if (aip.trim().equals(ip)) {
           inthelist=true;
           break;
        }
    }
您不能在列表上进行拆分,一旦拆分了字符串,您就拥有了一个包含所有IP的数组,然后可以进行检查

    // 123.11.1.1, 123.1.1.12, 123.322.12.1
    String[] list = merchant.getAllowed_ip_address().split(",");

    String ip = request.getRemoteAddr();

    for (String allowedIP : list) {
        if (!ip.trim().equals(allowedIP.trim())) {
            // Not in list
        }
    }
此外,为了简单起见,您可以这样做

String ip = request.getRemoteAddr();
boolean notExist = Arrays.stream(merchant.getAllowed_ip_address().split(","))
                .map(String::trim)
                .noneMatch(ip::equals);
无法对数组调用剥离。该数组已包含剥离的IP。您只需检查值是否匹配。

对数组中的每个项使用拆分
for (int i=0;i<list.length ;i++) {
            if (!ip.trim().equals(list[i].trim())) 
            {
               // Not in list
            }