boolean pingOK = false;
try {
pingOK = InetAddress.getByName(ip).isReachable(200);
} catch(IOException e) {
pingOK = false;
}
Run Code Online (Sandbox Code Playgroud)
这些代码可以从6行减少到1行吗?
如:
boolean pingOK = withNoException(InetAddress.getByName(ip).isReachable(200));
Run Code Online (Sandbox Code Playgroud)
也许Java 8以上的一些功能异常技巧?
或者在Java 7下有一些方法可以做到这一点吗?
你可以自己做帮助:
static <T> T withNoException(Supplier<? extends T> supplier, T defaultValue) {
try {
return supplier.get();
} catch (Exception e) {
return defaultValue;
}
}
...
boolean pingOK = withNoException(() -> InetAddress.getByName(ip).isReachable(200), false);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
541 次 |
| 最近记录: |