当我试图通过它可关闭接口关闭套接字,我得到一个异常:
When I try to close a socket through its Closeable interface, I get an exception:
new java.net.Socket().close();
// no error
((java.io.Closeable) new java.net.Socket()).close();
// Throws: java.lang.IncompatibleClassChangeError: interface not implemented
这是为什么? 问题是,只有在Android设备上,而不是在桌面上运行的Java程序。
Why is that? The problem is only on Android devices, not on Java programs running on desktop.
要引用的Android的问题跟踪:
To quote Android issue tracker:
插座 实现了可关闭的只是从API级别19(奇巧),但 该信息不是所生成的文档中。
Socket implements Closeable only since API level 19 (kitkat) but that information isn't in the generated documentation.