我想实现一个将 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
}
}
但我明白了Cannot invoke split(String) on the array type String[]
。你知道我该如何解决这个问题吗?
你不能split
在列表上做,一旦你拆分了字符串,那么你就有了一个包含所有 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);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句