В Android-приложении я добавил этот код в onCreate()
Closeable sss = new Socket();
if (!(sss instanceof Closeable)) {
throw new RuntimeException("Something unexpected happened");
}
Импорт:
import java.io.Closeable;
import java.net.Socket;
Код компилируется, но Я получаю исключение:
E/AndroidRuntime( 8293): java.lang.RuntimeException: Unable to start activity...: java.lang.RuntimeException: Something unexpected happened
...
E/AndroidRuntime( 8293): Caused by: java.lang.RuntimeException: Something unexpected happened
...
В другом контексте глюк вызывает java.lang.ArrayStoreException
(а именно, java.lang.ArrayStoreException: java.net.Socket не может быть сохранен в массиве типа java.io.Closeable []).
Я что-то упустил? Любая идея, что делать?
ИЗМЕНИТЬ
Аналогично, когда DatagramSocket
используется как MyClass<DatagramSocket>
для MyClass<T extends Closeable>
, он вызывает java.lang.IncompatibleClassChangeError: интерфейс не реализован.