为了最大限度地减少样板代码,我希望有一个 Socket 和 ServerSocket 类,它们都实现 Closeable 接口(interface)。
我发现在 Java 7 中,Socket 和 ServerSocket 很可能实现 Closeable,所以我不能这样做:
public class ClosableSocket extends Socket implements Closeable {}
并实现所需的构造函数?或者有更好的解决方案吗?我想要的是将它与 Apache Commons IO IOUtil.closeQuietly(Closeable closeable)
结合使用.
最佳答案
我想要类似的东西
public static void closeQuietly(Object object) {
try {
if (object instanceof Closeable)
((Closeable)object).close();
else if (object instanceof Socket)
((Socket)object).close();
else if (object instanceof ServerSocket)
((ServerSocket)object).close();
else
// use reflections to call close() if you must.
} catch (IOException ignored) {
// ignored
}
}
关于java - 实现可关闭的套接字/服务器套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5220120/