public static boolean internalIp(String ip) { byte[] addr = textToNumericFormatV4(ip); boolean b = false; if (StringUtils.isNull(addr) || addr.length < 2) { b = true; } else { b = internalIp(addr); } return b || "127.0.0.1".equals(ip); }可能会抛出“NullPointerException”;"addr"在这里可为空。 怎么优化这段代码
时间: 2024-03-31 11:33:56 浏览: 44
Java if(boolean)和if(boolean=true)区别解析
可以在方法中添加一个判断语句,检查addr是否为空。如果addr为空,则直接返回true,否则继续执行后面的逻辑。修改后的代码如下:
```
public static boolean internalIp(String ip) {
byte[] addr = textToNumericFormatV4(ip);
if (StringUtils.isNull(addr) || addr.length < 2) {
return true;
}
boolean b = internalIp(addr);
return b || "127.0.0.1".equals(ip);
}
```
这样就可以避免在调用textToNumericFormatV4方法后出现NullPointerException异常,同时也让代码更加简洁易懂。
阅读全文