Android的:异常使用带有插座Closeable接口,插座、异常、接口、Android

2023-09-09 21:05:53 作者:结局早已写好

当我试图通过它可关闭接口关闭套接字,我得到一个异常:

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.

推荐答案

要引用的Andr​​oid的问题跟踪:

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.